base/common/src/main/com/thesett/common/util/maps/SequentialCuckooFunction.java
private void rehash()
    {
        // Increase the table size, to keep the load factory < 0.5.
        int newSize = hashTableSize;

        if (hashTableSize < (count * 2))
        {
            newSize = hashTableSize * 2;

            if (newSize > maxSize)
            {
                throw new IllegalStateException("'newSize' of " + newSize +
                    " would put the table over the maximum size limit of " + maxSize);
            }
        }

        // Keep hold of the old table, until a new one is succesfully buily.
        Entry<K>[] oldTable = hashTable;
        hashTableSize = newSize;
        length = hashTable.length;

        // Keep rehashing the table until it is succesfully rebuilt.
        boolean rehashedOk;

        do
        {
            // Start by assuming that this will work.
            rehashedOk = true;

            // Alter the hash functions.
            changeHashFunctions();

            // Create a new table from the old one, to rehash everything into.
            hashTable = (Entry<K>[]) new Entry[hashTableSize];

            for (Entry<K> entry : oldTable)
            {
                if (entry != null)
                {
                    // Add the entry to the new table, dropping out if this fails.
                    if (applyWithEntry(entry.key, entry, false) == null)
                    {
                        rehashedOk = false;

                        break;
                    }
                }
            }
        }
        while (!rehashedOk);
    }
private void rehash()
    {
        // Increase the table size, to keep the load factory < 0.5.
        int newSize = hashTableSize;

        if (hashTableSize < (count * 2))
        {
            newSize = hashTableSize * 2;

            if (newSize > maxSize)
            {
                throw new IllegalStateException("'newSize' of " + newSize +
                    " would put the table over the maximum size limit of " + maxSize);
            }
        }

        // Keep hold of the old table, until a new one is succesfully buily.
        Entry<K>[] oldTable = hashTable;
        hashTableSize = newSize;
        length = hashTable.length;

        // Keep rehashing the table until it is succesfully rebuilt.
        boolean rehashedOk;

        do
        {
            // Start by assuming that this will work.
            rehashedOk = true;

            // Alter the hash functions.
            changeHashFunctions();

            // Create a new table from the old one, to rehash everything into.
            hashTable = (Entry<K>[]) new Entry[hashTableSize];

            for (Entry<K> entry : oldTable)
            {
                if (entry != null)
                {
                    // Add the entry to the new table, dropping out if this fails.
                    if (applyWithEntry(entry.key, entry, false) == null)
                    {
                        rehashedOk = false;

                        break;
                    }
                }
            }
        }
        while (!rehashedOk);
    }
private void rehash ( ) { // Increase the table size, to keep the load factory < 0.5. int newSize = hashTableSize ; if ( hashTableSize < ( count * 2 ) ) { newSize = hashTableSize * 2 ; if ( newSize > maxSize ) { throw new IllegalStateException ( "'newSize' of " + newSize + " would put the table over the maximum size limit of " + maxSize ) ; } } // Keep hold of the old table, until a new one is succesfully buily. Entry < K > [ ] oldTable = hashTable ; hashTableSize = newSize ; length = hashTable . length ; // Keep rehashing the table until it is succesfully rebuilt. boolean rehashedOk ; do { // Start by assuming that this will work. rehashedOk = true ; // Alter the hash functions. changeHashFunctions ( ) ; // Create a new table from the old one, to rehash everything into. hashTable = ( Entry < K > [ ] ) new Entry [ hashTableSize ] ; for ( Entry < K > entry : oldTable ) { if ( entry != null ) { // Add the entry to the new table, dropping out if this fails. if ( applyWithEntry ( entry . key , entry , false ) == null ) { rehashedOk = false ; break ; } } } } while ( ! rehashedOk ) ; }
Creates a new hashtable that is twice the size of the old one, then re-hashes everything from the old table into
the new table.

@throws IllegalStateException If the table cannot be increased in size because the maximum size limit would be
breached.
Creates a new hashtable that is twice the size of the old one then re - hashes everything from the old table into the new table .