private static @Nls @NotNull String generateClassInfo(@NotNull PsiClass aClass) {
    @Nls StringBuilder buffer = new StringBuilder();
    GroovyFile file = (GroovyFile)aClass.getContainingFile();

    GroovyDocHighlightingManager highlightingManager = GroovyDocHighlightingManager.getInstance();

    String packageName = file.getPackageName();
    if (!packageName.isEmpty()) {
      appendStyledSignatureFragment(buffer, packageName, highlightingManager.getClassNameAttributes());
      buffer.append("\n");
    }

    final String classString = aClass.isInterface()
                               ? GroovyBundle.message("groovy.term.interface")
                               : aClass instanceof PsiTypeParameter
                                 ? GroovyBundle.message("groovy.term.type.parameter")
                                 : aClass.isEnum()
                                   ? GroovyBundle.message("groovy.term.enum")
                                   : GroovyBundle.message("groovy.term.class");
    appendStyledSignatureFragment(buffer, classString, highlightingManager.getKeywordAttributes());
    buffer.append(" ");
    appendStyledSignatureFragment(buffer, aClass.getName(), highlightingManager.getClassDeclarationAttributes(aClass));

    JavaDocumentationProvider.generateTypeParameters(aClass, buffer, highlightingManager);

    JavaDocumentationProvider.writeExtends(aClass, buffer, aClass.getExtendsListTypes(), highlightingManager);
    JavaDocumentationProvider.writeImplements(aClass, buffer, aClass.getImplementsListTypes(), highlightingManager);

    return buffer.toString();
  }
private static @Nls @NotNull String generateClassInfo(@NotNull PsiClass aClass)