@Contract(pure = true)
  public static boolean isCallToStaticMethod(@NotNull PsiMethodCallExpression expression, @NonNls @NotNull String calledOnClassName,
                                             @NonNls @NotNull String methodName, int parameterCount) {
    PsiExpression[] args = expression.getArgumentList().getExpressions();
    if (!methodName.equals(getMethodName(expression)) || args.length < parameterCount) {
      return false;
    }
    PsiMethod method = expression.resolveMethod();
    if (method == null ||
        !method.hasModifierProperty(PsiModifier.STATIC) ||
        method.getParameterList().getParametersCount() != parameterCount ||
        !method.isVarArgs() && args.length != parameterCount) {
      return false;
    }
    PsiClass aClass = method.getContainingClass();
    return aClass != null && calledOnClassName.equals(aClass.getQualifiedName());
  }
@Contract(pure = true)
  public static boolean isCallToStaticMethod(@NotNull PsiMethodCallExpression expression, @NonNls @NotNull String calledOnClassName,
                                             @NonNls @NotNull String methodName, int parameterCount)