code: private V get(K key, int hash) {
      if (hash == this.hash && key.equals(this.key)) {
        return this.value;
      }
      int bucket = bucket(hash);
      int bucketMask = 1 << bucket;
      return (mask & bucketMask) != 0 ? children[index(bucketMask)].get(key, shift(hash)) : null;
    }
docs: Internal recursive implementation of get(K).