boolean (PsiMethodCallExpression methodCallExpression, PsiMethod method) { final PsiExpression qualifier = methodCallExpression.getMethodExpression().getQualifierExpression(); if (qualifier == null) { return false; } final TypeView qualifierTypeView = new TypeView(qualifier); if (!qualifierTypeView.isChanged()) { return false; } if (method.getName().equals("equals") && method.getParameterList().getParametersCount() == 1) { final PsiParameter parameter = method.getParameterList().getParameters()[0]; if (parameter.getType().equals(PsiType.getJavaLangObject(methodCallExpression.getManager(), methodCallExpression.getResolveScope()))) { final PsiExpression[] expressions = methodCallExpression.getArgumentList().getExpressions(); if (expressions.length != 1) { return false; } final TypeView argumentTypeView = new TypeView(expressions[0]); final PsiType argumentType = argumentTypeView.getType(); if (!argumentTypeView.isChanged() && qualifierTypeView.getTypePair().getFirst().equals(argumentType)) { final PsiType migrationType = qualifierTypeView.getType(); myLabeler.migrateExpressionType(expressions[0], migrationType, methodCallExpression, TypeConversionUtil.isAssignable(migrationType, argumentType), true); return true; } } } return false; }