docs: public TrieNode getParent() {
      if (0 == index) return null;
      if (null == parent && -1 == depth) {
        synchronized (this) {
          if (null == parent) {
            parent = newNode(trie.parentIndex[index]);
            assert (parent.index < index);
          }
        }
      }
      return parent;
    }