protected MultiTextEditWithProgress computeTextEdit(
        ITextFileBuffer textFileBuffer, IProgressMonitor progressMonitor)
        throws CoreException, OperationCanceledException {

      IResource bufferRes =
          ResourcesPlugin.getWorkspace().getRoot().findMember(textFileBuffer.getLocation());
      Map<?, ?> options = null;
      if (bufferRes != null) {
        IJavaProject project = JavaCore.create(bufferRes.getProject());
        options = project.getOptions(true);
      }

      CodeFormatter codeFormatter = ToolFactory.createCodeFormatter(options);

      IDocument document = textFileBuffer.getDocument();
      String string = document.get();
      TextEdit edit =
          codeFormatter.format(
              CodeFormatter.K_COMPILATION_UNIT, string, 0, string.length(), 0, null);
      MultiTextEditWithProgress multiTextEditWithProgress =
          new MultiTextEditWithProgress(getOperationName());
      if (edit == null) {
        // HibernateConsolePlugin.getDefault().log("empty format for " +
        // textFileBuffer.getLocation().toOSString());
      } else {
        multiTextEditWithProgress.addChild(edit);
      }
      return multiTextEditWithProgress;
    }