private static boolean checkSetter(@NotNull PsiMethodCallExpression invokeCall,
                                     @NotNull PsiExpression typeExpression,
                                     boolean isExact,
                                     int argumentOffset, ProblemsHolder holder) {
    final PsiExpressionList argumentList = invokeCall.getArgumentList();
    final PsiExpression[] arguments = argumentList.getExpressions();
    if (!checkArgumentCount(arguments, argumentOffset + 1, 0, argumentList, holder)) return false;

    LOG.assertTrue(arguments.length == argumentOffset + 1);
    final ReflectiveType requiredType = getReflectiveType(typeExpression);
    checkArgumentType(arguments[argumentOffset], requiredType, argumentList, isExact, false, holder);

    final PsiElement invokeParent = invokeCall.getParent();
    if (!(invokeParent instanceof PsiStatement)) {
      holder.registerProblem(invokeCall.getMethodExpression(),
                             JavaBundle.message(isExact
                                                       ? "inspection.reflect.handle.invocation.result.void"
                                                       : "inspection.reflect.handle.invocation.result.null"));
    }
    return true;
  }
private static boolean checkSetter(@NotNull PsiMethodCallExpression invokeCall,
                                     @NotNull PsiExpression typeExpression,
                                     boolean isExact,
                                     int argumentOffset, ProblemsHolder holder)