@Override
  public void visitAnnotation(@NotNull GrAnnotation annotation) {
    String qualifiedName = annotation.getQualifiedName();
    if (qualifiedName != null && ContainerUtil.exists(SKIPPED, qualifiedName::contains)) return;
    builder.append('@');
    GrCodeReferenceElement classReference = annotation.getClassReference();
    GenerationUtil.writeCodeReferenceElement(builder, classReference);
    GrAnnotationArgumentList parameterList = annotation.getParameterList();
    GrAnnotationNameValuePair[] attributes = parameterList.getAttributes();
    if (attributes.length == 0) return;

    builder.append('(');

    for (GrAnnotationNameValuePair attribute : attributes) {
      String name = attribute.getName();
      if (name != null) {
        builder.append(name);
        builder.append(" = ");
      }
      GrAnnotationMemberValue value = attribute.getValue();
      if (value != null) {
        value.accept(this);
      }
      builder.append(", ");
    }
    builder.delete(builder.length()-2, builder.length());
    //builder.removeFromTheEnd(2);
    builder.append(')');
  }
@Override
  public void visitAnnotation(@NotNull GrAnnotation annotation)