code: function(node, mode) {
  			if (mode === undefined || mode === "over") {
  				mode = "child";
  			}
  			switch (mode) {
  				case "after":
  					return this.getParent().addChildren(
  						node,
  						this.getNextSibling()
  					);
  				case "before":
  					return this.getParent().addChildren(node, this);
  				case "firstChild":
  					// Insert before the first child if any
  					var insertBefore = this.children ? this.children[0] : null;
  					return this.addChildren(node, insertBefore);
  				case "child":
  				case "over":
  					return this.addChildren(node);
  			}
  			_assert(false, "Invalid mode: " + mode);
  		}
docs: Append or prepend a node, or append a child node.
  
  This a convenience function that calls addChildren()
  
  @param {NodeData} node node definition
  @param {string} [mode=child] 'before', 'after', 'firstChild', or 'child' ('over' is a synonym for 'child')
  @returns {FancytreeNode} new node