private GroupNode<K, V> findGroupNode( Object group ) {
        final GroupNode<K, V>[] buckets = mGroupBuckets;
        final int               hash    = (group == null ? 0 : rehash( group.hashCode() ));
        final int               idx     = hash & (buckets.length - 1);

        GroupNode<K, V> g = buckets[idx];
        while( g != null ) {
            if( hash == g.mHash && (group == g.mGroup || group != null && group.equals( g.mGroup )) ) { return g; }

            g = g.mNext;
        }

        return null;
    }