@Override
    public SmartTypePointer visitWildcardType(@NotNull PsiWildcardType wildcardType) {
      final PsiType bound = wildcardType.getBound();
      final SmartTypePointer boundPointer = bound == null ? null : bound.accept(this);
      return new WildcardTypePointer(wildcardType, boundPointer);
    }
@Override
    public SmartTypePointer visitWildcardType(@NotNull PsiWildcardType wildcardType)