@Override
    public boolean equals(Object o) {
        if (o == null) {
            return false;
        }
        if (o.getClass() != this.getClass()) {
            return false;
        }
        WordTrie ob = (WordTrie) o;
        if (ob.getNodeCount() != this.nodeCount || ob.getWordCount() != this.getWordCount()) {
            return false;
        }
        if (!this.root.equals(ob.getRoot())) {
            return false;
        }
        return true;
    }