docs: function(newnode, oldnode) {
  		if (newnode && oldnode) {
  			return newnode.id && newnode.id === oldnode.id &&
  				this._maybesoft(newnode) &&
  				this._maybesoft(oldnode);
  		} else {
  			return Array.every(newnode.childNodes, function(node) {
  				var res = true;
  				switch (node.nodeType) {
  					case Node.TEXT_NODE:
  						res = node.data.trim() === "";
  						break;
  					case Node.ELEMENT_NODE:
  						res = this._assistant.id(node) !== null;
  						break;
  				}
  				return res;
  			}, this);
  		}
  	}