private LinkedList<Diff> diff_bisectSplit(String text1, String text2,
      int x, int y, long deadline) {
    String text1a = text1.substring(0, x);
    String text2a = text2.substring(0, y);
    String text1b = text1.substring(x);
    String text2b = text2.substring(y);

    // Compute both diffs serially.
    LinkedList<Diff> diffs = diff_main(text1a, text2a, false, deadline);
    LinkedList<Diff> diffsb = diff_main(text1b, text2b, false, deadline);

    diffs.addAll(diffsb);
    return diffs;
  }
Given the location of the 'middle snake', split the diff in two parts
and recurse.

@param text1 Old string to be diffed.
@param text2 New string to be diffed.
@param x Index of split point in text1.
@param y Index of split point in text2.
@param deadline Time at which to bail if not yet complete.
@return LinkedList of Diff objects.
src/burp/Utils/diff_match_patch.java