public synchronized void put(Object object, int hashCode, int ordinal) { int index = index(hashCode, entries.length); Entry current = entries[index]; Entry prev = null; while (current != null) { if (current.hash() == hashCode) { Object currentObject = current.getKey(); if( currentObject == null){ deleteEntry(index, current, prev); current = current.next; continue; } else if (currentObject == object) { return; } } prev = current; current = current.next; } count++; Entry first = entries[index]; Entry entry = new Entry(object, hashCode, ordinal, first); entries[index] = entry; entry.next = first; checkSize(); return; }