private boolean registerProblem(@NotNull PsiBinaryExpression expression, PsiExpression rightOperand, boolean equal) {
      if (rightOperand instanceof PsiMethodCallExpression methodCallExpression) {
        final NullCheck nullCheck = NullCheck.create(expression.getLOperand());
        if (nullCheck != null && nullCheck.isEqual != equal) {
          final PsiExpression nullCheckedExpression = nullCheck.compared;
          final PsiExpression qualifierExpression = getQualifierExpression(methodCallExpression);
          if (EQUIVALENCE.expressionsAreEquivalent(qualifierExpression, nullCheckedExpression)) {
            final PsiExpression argumentExpression = getArgumentExpression(methodCallExpression);
            if (argumentExpression != null) {
              final PsiExpression expressionToReplace = checkEqualityBefore(expression, equal, qualifierExpression, argumentExpression);
              ProblemHighlightType highlightType = checkNotNull || expression != expressionToReplace ?
                                                   ProblemHighlightType.GENERIC_ERROR_OR_WARNING : ProblemHighlightType.INFORMATION;
              if (isOnTheFly() || highlightType == ProblemHighlightType.GENERIC_ERROR_OR_WARNING) {
                registerError(expressionToReplace, highlightType,
                              nullCheckedExpression.getText(), argumentExpression.getText(), Boolean.valueOf(equal));
              }
              return true;
            }
          }
        }
      }
      return false;
    }
private boolean registerProblem(@NotNull PsiBinaryExpression expression, PsiExpression rightOperand, boolean equal)