private static PsiType substituteTypeParameter(@NotNull PsiType psiType, String superClass, int paramIndex) {
    PsiType oneElementType = PsiUtil.substituteTypeParameter(psiType, superClass, paramIndex, true);
    if (oneElementType instanceof PsiWildcardType) {
      oneElementType = ((PsiWildcardType) oneElementType).getBound();
    }
    return oneElementType;
  }
private static PsiType substituteTypeParameter(@NotNull PsiType psiType, String superClass, int paramIndex)