private static void registerMultiCalleeProblem(@NotNull PyInspectionVisitor visitor,
                                                 @NotNull PyCallSiteExpression callSite,
                                                 @NotNull List<PyType> argumentTypes,
                                                 @NotNull List<PyTypeCheckerInspection.AnalyzeCalleeResults> calleesResults,
                                                 @NotNull TypeEvalContext context) {
    if (callSite instanceof PyBinaryExpression) {
      registerMultiCalleeProblemForBinaryExpression(visitor, (PyBinaryExpression)callSite, argumentTypes, calleesResults, context);
    }
    else {
      visitor.registerProblem(getMultiCalleeElementToHighlight(callSite),
                              getMultiCalleeProblemMessage(argumentTypes, calleesResults, context, isOnTheFly(visitor)));
    }
  }
private static void registerMultiCalleeProblem(@NotNull PyInspectionVisitor visitor,
                                                 @NotNull PyCallSiteExpression callSite,
                                                 @NotNull List<PyType> argumentTypes,
                                                 @NotNull List<PyTypeCheckerInspection.AnalyzeCalleeResults> calleesResults,
                                                 @NotNull TypeEvalContext context)