@Override
  public X visitClassType(@NotNull final PsiClassType classType) {
    super.visitClassType(classType);
    final PsiClassType.ClassResolveResult result = classType.resolveGenerics();

    if (result.getElement() != null) {
      for (final PsiType type : result.getSubstitutor().getSubstitutionMap().values()) {
        if (type != null) {
          type.accept(this);
        }
      }
    }

    return null;
  }
@Override
  public X visitClassType(@NotNull final PsiClassType classType)