code: function(value, opt_parent) {
    /**
     * The value stored by the node.
     *
     * @type {T}
     */
    this.value = value;
  
    /**
     * The node's parent. Null if the node is the root.
     *
     * @type {?Node<T>}
     */
    this.parent = opt_parent ? opt_parent : null;
  
    /**
     * The number of nodes in the subtree rooted at this node.
     *
     * @type {number}
     */
    this.count = 1;
  
    /**
     * The node's left child. Null if the node does not have a left child.
     *
     * @type {?Node<T>}
     */
    this.left = null;
  
    /**
     * The node's right child. Null if the node does not have a right child.
     *
     * @type {?Node<T>}
     */
    this.right = null;
  
    /**
     * Height of this node.
     *
     * @type {number}
     */
    this.height = 1;
  }
docs: Constructs an AVL-Tree node with the specified value. If no parent is
  specified, the node's parent is assumed to be null. The node's height
  defaults to 1 and its children default to null.
  
  @param {T} value Value to store in the node.
  @param {Node<T>=} opt_parent Optional parent node.
  @constructor
  @final
  @template T