docs: function(elm, handler, arg, start) {
  		var win, spirit, directive = this._handleElement(elm, handler, arg);
  		switch (directive) {
  			case gui.Crawler.CONTINUE:
  			case gui.Crawler.SKIP_CHILDREN:
  				if (directive !== gui.Crawler.SKIP_CHILDREN) {
  					if (elm.childElementCount) {
  						this._descend(elm.firstElementChild, handler, arg, false);
  					} else if (this.global && elm.localName === "iframe") {
  						/*
  						 * TODO: Make iframe transcend work even without spirit support.
  						 */
  						if ((spirit = elm.spirit) && (spirit instanceof gui.IframeSpirit)) {
  							win = elm.ownerDocument.defaultView;
  							if (gui.Type.isFunction(handler.transcend)) {
  								handler.transcend(
  									spirit.contentWindow, 
  									spirit.xguest, 
  									spirit.$instanceid
  								);
  							}
  						}
  					}
  				}
  				if (!start) {
  					var next = elm.nextElementSibling;
  					if (next !== null) {
  						this._descend(next, handler, arg, false);
  					}
  				}
  				break;
  		}
  	}