@SuppressWarnings("unchecked")
    public void forEach(final EntryConsumer<V> consumer)
    {
        for (int i = 0, size = values.length; i < size; i++)
        {
            final Object value = values[i];
            if (null != value)
            {
                final long compoundKey = keys[i];
                final int keyPartA = (int)(compoundKey >>> 32);
                final int keyPartB = (int)(compoundKey & 0xFFFF_FFFFL);

                consumer.accept(keyPartA, keyPartB, (V)value);
            }
        }
    }
@ SuppressWarnings ( "unchecked" ) public void forEach ( final EntryConsumer < V > consumer ) { for ( int i = 0 , size = values . length ; i < size ; i ++ ) { final Object value = values [ i ] ; if ( null != value ) { final long compoundKey = keys [ i ] ; final int keyPartA = ( int ) ( compoundKey > > > 32 ) ; final int keyPartB = ( int ) ( compoundKey & 0xFFFF_FFFFL ) ; consumer . accept ( keyPartA , keyPartB , ( V ) value ) ; } } }
Iterate over the contents of the map

@param consumer to apply to each value in the map