docs: function ( range ) {
      var container = range.endContainer,
          block, child;
  
      // If inline, get the containing block.
      if ( isInline( container ) ) {
          block = getPreviousBlock( container );
      } else if ( isBlock( container ) ) {
          block = container;
      } else {
          block = getNodeAfter( container, range.endOffset );
          if ( !block ) {
              block = container.ownerDocument.body;
              while ( child = block.lastChild ) {
                  block = child;
              }
          }
          block = getPreviousBlock( block );
  
      }
      // Check the block actually intersects the range
      return block && isNodeContainedInRange( range, block, true ) ? block : null;
  }