@Override
    public PsiExpression replace(PsiExpression expression, @NotNull TypeEvaluator evaluator) throws IncorrectOperationException {
      final PsiMethodCallExpression methodCallExpression = (PsiMethodCallExpression)expression;
      final PsiExpression qualifierExpression = methodCallExpression.getMethodExpression().getQualifierExpression();
      final PsiElementFactory elementFactory = JavaPsiFacade.getElementFactory(expression.getProject());
      final PsiMethodCallExpression newMethodCall;
      if (qualifierExpression != null) {
        JavaCodeStyleManager.getInstance(expression.getProject())
          .shortenClassReferences(qualifierExpression.replace(elementFactory.createExpressionFromText(myTargetClassQName, expression)));
        newMethodCall = methodCallExpression;
      }
      else {
        newMethodCall = (PsiMethodCallExpression)expression.replace(
          elementFactory.createExpressionFromText(myTargetClassQName + "." + expression.getText(), expression));
      }
      if (UnnecessarilyQualifiedStaticUsageInspection.isUnnecessarilyQualifiedAccess(newMethodCall.getMethodExpression(), false, false, false)) {
        Objects.requireNonNull(newMethodCall.getMethodExpression().getQualifierExpression()).delete();
      }
      return newMethodCall;
    }
@Override
    public PsiExpression replace(PsiExpression expression, @NotNull TypeEvaluator evaluator)