code: function splitTree(root, point, options) {
    // ex) [#text, <span>, <p>]
    const ancestors = listAncestor(point.node, func.eq(root));
  
    if (!ancestors.length) {
      return null;
    } else if (ancestors.length === 1) {
      return splitNode(point, options);
    }
  
    return ancestors.reduce(function(node, parent) {
      if (node === point.node) {
        node = splitNode(point, options);
      }
  
      return splitNode({
        node: parent,
        offset: node ? position(node) : nodeLength(parent),
      }, options);
    });
  }
docs: @method splitTree
  
  split tree by point
  
  @param {Node} root - split root
  @param {BoundaryPoint} point
  @param {Object} [options]
  @param {Boolean} [options.isSkipPaddingBlankHTML] - default: false
  @param {Boolean} [options.isNotSplitEdgePoint] - default: false
  @return {Node} right node of boundaryPoint