code: function _AVLTree (options) {
    options = options || {};
  
    this.left = null;
    this.right = null;
    this.parent = options.parent !== undefined ? options.parent : null;
    if (options.hasOwnProperty('key')) { this.key = options.key; }
    this.data = options.hasOwnProperty('value') ? [options.value] : [];
    this.unique = options.unique || false;
  
    this.compareKeys = options.compareKeys || customUtils.defaultCompareKeysFunction;
    this.checkValueEquality = options.checkValueEquality || customUtils.defaultCheckValueEquality;
  }
docs: Constructor of the internal AVLTree
  @param {Object} options Optional
  @param {Boolean}  options.unique Whether to enforce a 'unique' constraint on the key or not
  @param {Key}      options.key Initialize this BST's key with key
  @param {Value}    options.value Initialize this BST's data with [value]
  @param {Function} options.compareKeys Initialize this BST's compareKeys