private boolean migrateEqualsMethod(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;
  }
private boolean migrateEqualsMethod(PsiMethodCallExpression methodCallExpression, PsiMethod method)