@Override
  public void visitReferenceExpression(@NotNull PsiReferenceExpression expression) {
    super.visitReferenceExpression(expression);
    PsiType type = expression.getType();
    if (type != null) {
      PsiTypesUtil.TypeParameterSearcher searcher = new PsiTypesUtil.TypeParameterSearcher();
      type.accept(searcher);
      for (PsiTypeParameter parameter : searcher.getTypeParameters()) {
        final PsiTypeParameterListOwner owner = parameter.getOwner();
        if (owner instanceof PsiClass && myClassSuperClasses.contains(owner)) {
          myResult = true;
          break;
        }
      }
    }
  }
@Override
  public void visitReferenceExpression(@NotNull PsiReferenceExpression expression)