code: function(str, pos) {
      var T = this, k, child;
      if (str.length == 0) {
        if (pos === undefined) {
          return T.getAllWords(str);
        } else {
          return [];
        }
      }
      if (pos === undefined) {
        pos = 0;
      }
      k = str[pos];
      child = T.children[k];
      if (child === undefined) {
        //node doesn't exist
        return [];
      }
      if (pos === str.length - 1) {
        return child.getAllWords(str);
      }
      return child.autoComplete(str, pos + 1);
    }
docs: /*
  Autocomplete a given prefix
  
  @method autoComplete
  @param {String} str Prefix to be completed based on dictionary entries
  @param {Integer} pos Current index of the prefix
  @return {Array} Array of possible suggestions