public static void appendAnnotations(TextBuffer buffer, int indent, StructMember mb, int targetType) {
    Set<String> filter = new HashSet<>();

    for (Key<?> key : ANNOTATION_ATTRIBUTES) {
      StructAnnotationAttribute attribute = mb.getAttribute((Key<StructAnnotationAttribute>) key);
      if (attribute != null) {
        for (AnnotationExprent annotation : attribute.getAnnotations()) {
          if (annotation.getClassName().equals("kotlin/Metadata")
            || annotation.getClassName().equals(NOT_NULL_ANN_NAME)
            || annotation.getClassName().equals(NULLABLE_ANN_NAME)
            || annotation.getClassName().equals("kotlin/jvm/JvmStatic")) {
            continue;
          }

          KAnnotationExprent kAnnotation = new KAnnotationExprent(annotation);

          String text = kAnnotation.toJava(indent).convertToStringAndAllowDataDiscard();
          filter.add(text);
          buffer.append(text);
          if (indent < 0) {
            buffer.append(' ');
          } else {
            buffer.appendLineSeparator();
          }
        }
      }
    }

    appendTypeAnnotations(buffer, indent, mb, targetType, -1, filter);
  }
").appendLineSeparator();
    for (String s : javaDoc.split("\n")) {
      buffer.appendIndent(indent).append(" * ").append(s).appendLineSeparator();
    }
    buffer.appendIndent(indent).append("
plugins/kotlin/src/main/java/org/vineflower/kotlin/KotlinWriter.java