public static boolean processParameterAnnotations(TextBuffer buffer, StructMethod mt, int param) {
    Set<String> filter = new HashSet<>();
    boolean ret = false;

    for (Key<?> key : PARAMETER_ANNOTATION_ATTRIBUTES) {
      StructAnnotationParameterAttribute attribute = mt.getAttribute((Key<StructAnnotationParameterAttribute>) key);
      if (attribute != null) {
        List<List<AnnotationExprent>> annotations = attribute.getParamAnnotations();
        if (param < annotations.size()) {
          for (AnnotationExprent annotation : annotations.get(param)) {
            if (annotation.getClassName().equals(NOT_NULL_ANN_NAME)) {
              continue;
            } else if (annotation.getClassName().equals(NULLABLE_ANN_NAME)) {
              ret = true;
              continue;
            }
            String text = annotation.toJava(-1).convertToStringAndAllowDataDiscard();
            filter.add(text);
            buffer.append(text).append(' ');
          }
        }
      }
    }

    appendTypeAnnotations(buffer, -1, mt, TypeAnnotation.METHOD_PARAMETER, param, filter);
    return ret;
  }
").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