@Override
  public Object visitClassType(@NotNull PsiClassType classType) {
    final PsiType[] parameters = classType.getParameters();
    final PsiClass psiClass = classType.resolve();
    if (psiClass == null) {
      builder.append(classType.getClassName());
    }
    else if (psiClass instanceof GrAnonymousClassDefinition) {
      visitClassType(((GrAnonymousClassDefinition)psiClass).getBaseClassType());
    }
    else {
      final String qname = classNameProvider.getQualifiedClassName(psiClass, context);
      builder.append(qname);
    }
    GenerationUtil.writeTypeParameters(builder, parameters, context, classNameProvider);
    return this;
  }
@Override
  public Object visitClassType(@NotNull PsiClassType classType)