code: function(node) {
          this.logger.log("insertAfter: " + node);
          var p = node.parent;
          if (p) {
  
              if (this.tree) {
                  this.tree.popNode(this);
              }
  
              var refIndex = node.isChildOf(p);
              this.logger.log(refIndex);
  
              if (!node.nextSibling) {
                  this.nextSibling = null;
                  return this.appendTo(p);
              }
  
              p.children.splice(refIndex + 1, 0, this);
  
              node.nextSibling.previousSibling = this;
              this.previousSibling = node;
              this.nextSibling = node.nextSibling;
              node.nextSibling = this;
  
              this.applyParent(p);
          }
  
          return this;
      }
docs: Inserts this node after the supplied node
  @method insertAfter
  @param node {Node} the node to insert after
  @return {Node} the inserted node