@Override
  public @NotNull Differ getDiffer(final Project project, PsiFile psiFile, CodeStyleSettings settings) {
    return new DifferBase(project, psiFile, settings) {
      @Override
      public String reformattedText() {
        JavaCodeFragment file = JavaCodeFragmentFactory.getInstance(project).createCodeBlockCodeFragment(myOrigText, myFile, false);

        WriteCommandAction.runWriteCommandAction(myProject, RefactorJBundle.message("codestyle.settings.extractor.command.name"), "CodeStyleSettings extractor", () -> {
          ASTNode treeElement = SourceTreeToPsiMap.psiToTreeNotNull(file);
          SourceTreeToPsiMap.treeElementToPsi(new CodeFormatterFacade(mySettings, file.getLanguage()).processElement(treeElement));
        }, file);

        return file.getText();
      }
    };
  }
@Override
  public @NotNull Differ getDiffer(final Project project, PsiFile psiFile, CodeStyleSettings settings)