@Nullable
  private String execute() {
    if (myHunks.isEmpty()) return myText.toString();

    try {
      for (PatchHunk hunk : myHunks) {
        appendUnchangedLines(hunk.getStartLineBefore());

        checkContextLines(hunk);

        applyChangedLines(hunk);
      }

      if (!handleLastLine()) {
        appendUnchangedLines(myLineOffsets.getLineCount());
      }

      return sb.toString();
    }
    catch (PatchApplyException e) {
      LOG.debug(e);
      return null;
    }
  }
@Nullable
  private String execute()