private static @Nullable Pair<PsiType, ConstraintType> processArgType(PsiType arg, final ConstraintType constraintType,
                                                                        final boolean captureWildcard) {
    if (arg instanceof PsiWildcardType && !captureWildcard) return FAILED_INFERENCE;
    if (arg != PsiTypes.nullType()) {
      return Pair.create(arg, constraintType);
    }
    return null;
  }
private static @Nullable Pair<PsiType, ConstraintType> processArgType(PsiType arg, final ConstraintType constraintType,
                                                                        final boolean captureWildcard)