ErrorType (MethodCandidateInfo info) { if (myArgumentTypes == null) return ErrorType.NONE; if (!info.isApplicable()) { boolean hasNulls = false; final PsiParameter[] parameters = info.getElement().getParameterList().getParameters(); if (myArgumentTypes.length == parameters.length) { for (int i = 0; i < myArgumentTypes.length; i++) { PsiType type = myArgumentTypes[i]; if (type == null) { hasNulls = true; } else if (!parameters[i].getType().isAssignableFrom(type)) { return ErrorType.RESOLVE; } } } return hasNulls ? ErrorType.NONE : ErrorType.RESOLVE; } return ErrorType.NONE; }