@NotNull
    @Override
    public DiffRequest process(@NotNull UserDataHolder context, @NotNull ProgressIndicator indicator)
      throws DiffRequestProducerException, ProcessCanceledException {
      try {
        DiffContent content1;
        DiffContent content2;

        DiffContentFactoryEx contentFactory = DiffContentFactoryEx.getInstanceEx();

        if (FileStatus.ADDED.equals(myFileStatus)) {
          content1 = contentFactory.createEmpty();
        }
        else {
          byte[] bytes1 = loadContent(myFilePath, myBefore);
          content1 = contentFactory.createFromBytes(myProject, bytes1, myFilePath);
        }

        if (FileStatus.DELETED.equals(myFileStatus)) {
          content2 = contentFactory.createEmpty();
        }
        else {
          byte[] bytes2 = loadContent(myFilePath, myAfter);
          content2 = contentFactory.createFromBytes(myProject, bytes2, myFilePath);
        }

        String title = DiffRequestFactoryImpl.getContentTitle(myFilePath);
        return new SimpleDiffRequest(title,
                                     content1,
                                     content2,
                                     VcsBundle.message("update.label.before.update"),
                                     VcsBundle.message("update.label.after.update"));
      }
      catch (IOException e) {
        throw new DiffRequestProducerException(VcsBundle.message("update.can.t.load.content"), e);
      }
    }
@NotNull
    @Override
    public DiffRequest process(@NotNull UserDataHolder context, @NotNull ProgressIndicator indicator)