private boolean shouldHighlight(@NotNull PsiBinaryExpression expression,
                                    PsiExpression rhs,
                                    PsiExpression lhs) {
      if (!TypeConversionUtil.isBinaryOperatorApplicable(expression.getOperationTokenType(), lhs, rhs, false)) {
        // don't warn on non-compiling code, but allow to replace
        return false;
      }
      if (m_ignoreClassObjects && (ClassUtils.isFinalClassWithDefaultEquals(PsiUtil.resolveClassInClassTypeOnly(lhs.getType())) ||
                                   ClassUtils.isFinalClassWithDefaultEquals(PsiUtil.resolveClassInClassTypeOnly(rhs.getType())))) {
        return false;
      }
      if (m_ignorePrivateConstructors && (typeHasPrivateConstructor(lhs) || typeHasPrivateConstructor(rhs))) {
        return false;
      }
      return true;
    }
private boolean shouldHighlight(@NotNull PsiBinaryExpression expression,
                                    PsiExpression rhs,
                                    PsiExpression lhs)