@Override
      public boolean equals(Object other) {
        if (!(other instanceof Node)) {
          return false;
        }
        // This was done to avoid findbugs comment
        Node casted = (Node) other;
        // The other side should be a byte array backed node only as we add only
        // ByteArrayBackedNode to the indexToNode map.
        return ByteBufferUtils.equals(this.container, offset, length, casted.getContents(),
          casted.offset, casted.length);
      }
WALDictionary using an LRU eviction algorithm. Uses a linked list running through a hashtable.
Currently has max of 2^15 entries. Will start evicting if exceeds this number The maximum memory
we expect this dictionary to take in the worst case is about:
<code>(2 ^ 15) * 5 (Regionname, Row key, CF, Column qual, table) * 100 bytes
(these are some big names) = ~16MB</code>. If you want to get silly, even at 1kb entries, it
maxes out at 160 megabytes.
hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/LRUDictionary.java