@Override
  public <A> A accept(@NotNull PsiTypeVisitor<A> visitor) {
    if (visitor instanceof PsiTypeVisitorEx) {
      return ((PsiTypeVisitorEx<A>)visitor).visitTypeVariable(this);
    }
    else {
      return visitor.visitType(this);
    }
  }
@Override
  public <A> A accept(@NotNull PsiTypeVisitor<A> visitor)