protected void Transfer(Tuple3KeyEntry <Key1, Key2, Key3, V>[] newTable) { int newCapacityMinus1 = newTable.Length - 1; Tuple3KeyEntry <Key1, Key2, Key3, V>[] table = this.table; for (int a = table.Length; a-- > 0;) { Tuple3KeyEntry <Key1, Key2, Key3, V> entry = table[a], next; while (entry != null) { next = entry.GetNextEntry(); int i = entry.GetHash() & newCapacityMinus1; entry.SetNextEntry(newTable[i]); newTable[i] = entry; entry = next; } } }