private void generateTypeParameterJavaDoc(StringBuilder buffer, PsiTypeParameter parameter, boolean generatePrologue) {
    if (generatePrologue) generatePrologue(buffer);

    if (!isRendered()) {
      buffer.append(DocumentationMarkup.DEFINITION_START);
      generateTypeParameterSignature(buffer, parameter, SignaturePlace.Javadoc);
      buffer.append(DocumentationMarkup.DEFINITION_END);
    }

    if (parameter.getOwner() instanceof PsiJavaDocumentedElement documentedElement) {
      final PsiDocComment docComment = getDocComment(documentedElement);
      PsiDocTag[] localTags = docComment != null ? docComment.getTags() : PsiDocTag.EMPTY_ARRAY;
      PsiDocTag tag = getTagByName(localTags, "<" + parameter.getName() + ">");
      if (tag != null) {
        buffer.append("<p>");
        final PsiElement[] elements = Arrays.stream(tag.getChildren())
          .skip(1)
          .filter(e -> e.getNode().getElementType() != JavaDocTokenType.DOC_COMMENT_LEADING_ASTERISKS &&
                       e.getNode().getElementType() != JavaDocElementType.DOC_PARAMETER_REF)
          .toArray(PsiElement[]::new);
        generateValue(buffer, elements, ourEmptyElementsProvider);
      }
    }
  }
private void generateTypeParameterJavaDoc(StringBuilder buffer, PsiTypeParameter parameter, boolean generatePrologue)