@Override
      public PsiType visitDisjunctionType(@NotNull PsiDisjunctionType disjunctionType) {
        final PsiClassType lub = PsiTypesUtil.getLowestUpperBoundClassType(disjunctionType);
        return lub != null ? erasure(lub, beforeSubstitutor) : disjunctionType;
      }
@Override
      public PsiType visitDisjunctionType(@NotNull PsiDisjunctionType disjunctionType)