@Override
      public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression) {
        final PsiType functionalInterfaceType = expression.getFunctionalInterfaceType();
        final PsiClassType.ClassResolveResult functionalInterfaceResolveResult = PsiUtil.resolveGenericsClassInType(functionalInterfaceType);
        final PsiMethod interfaceMethod = LambdaUtil.getFunctionalInterfaceMethod(functionalInterfaceType);
        if (interfaceMethod != null && interfaceMethod.getParameterList().getParametersCount() == 1) {
          final PsiSubstitutor psiSubstitutor = LambdaUtil.getSubstitutor(interfaceMethod, functionalInterfaceResolveResult);
          final MethodSignature signature = interfaceMethod.getSignature(psiSubstitutor);
          String message = SuspiciousMethodCallUtil.getSuspiciousMethodCallMessage(expression, signature.getParameterTypes()[0], REPORT_CONVERTIBLE_METHOD_CALLS, patternMethods, 0);
          if (message != null) {
            holder.registerProblem(ObjectUtils.notNull(expression.getReferenceNameElement(), expression), message);
          }
        }
      }
@Override
      public void visitMethodReferenceExpression(@NotNull PsiMethodReferenceExpression expression)