code: public Tuple2<ReadOnlyStyledDocument<PS, SEG, S>, ReadOnlyStyledDocument<PS, SEG, S>> split(
              int paragraphIndex, int columnPosition) {
          return tree.splitAt(paragraphIndex).map((l, p, r) -> {
              Paragraph<PS, SEG, S> p1 = p.trim(columnPosition);
              Paragraph<PS, SEG, S> p2 = p.subSequence(columnPosition);
              ReadOnlyStyledDocument<PS, SEG, S> doc1 = new ReadOnlyStyledDocument<>(l.append(p1));
              ReadOnlyStyledDocument<PS, SEG, S> doc2 = new ReadOnlyStyledDocument<>(r.prepend(p2));
              return t(doc1, doc2);
          });
      }
docs: Splits this document into two at the given paragraph's column position and returns both halves.