int (PsiMethod method, List<ReflectiveType> argumentTypes) { final PsiParameter[] parameters = method.getParameterList().getParameters(); if (parameters.length != argumentTypes.size()) { return -1; } int mismatchCount = 0; for (int i = 0; i < parameters.length; i++) { final ReflectiveType argumentType = argumentTypes.get(i); if (argumentType == null) { mismatchCount++; continue; } if (!argumentType.isEqualTo(parameters[i].getType())) { return -1; } } return mismatchCount; }