code: function( includeSelf, ignoreTextNode ) {
  			var start = this.startContainer,
  				end = this.endContainer,
  				ancestor;
  
  			if ( start.equals( end ) ) {
  				if ( includeSelf && start.type == CKEDITOR.NODE_ELEMENT && this.startOffset == this.endOffset - 1 )
  					ancestor = start.getChild( this.startOffset );
  				else
  					ancestor = start;
  			} else {
  				ancestor = start.getCommonAncestor( end );
  			}
  
  			return ignoreTextNode && !ancestor.is ? ancestor.getParent() : ancestor;
  		}
docs: Find the node which fully contains the range.
  
  @param {Boolean} [includeSelf=false]
  @param {Boolean} [ignoreTextNode=false] Whether ignore {@link CKEDITOR#NODE_TEXT} type.
  @returns {CKEDITOR.dom.element}