long[] copyKeys = keys; Object[] copyValues = values;  tabSize = (int) nextPrime(tabSize + tabSize / 2); keys = new long[tabSize]; values = new Object[tabSize]; items = 0;  try { for (int k = 0; k < copyValues.length; k++) { if (copyValues[k] != null && copyValues[k] != REMOVED) insert(copyKeys[k], copyValues[k]); } duplicate = (Entry)insert(key, entry); } catch (HashtableOverflowException e1) { }
throw new RuntimeException(e);
	public void put(long key, Object value) {		Entry entry = new Entry(key, value);		Entry duplicate = null;		try {			duplicate = (Entry)insert(key, entry);		} catch (HashtableOverflowException e) {			long[] copyKeys = keys;			Object[] copyValues = values;			// enlarge the table with a prime value			tabSize = (int) nextPrime(tabSize + tabSize / 2);			keys = new long[tabSize];			values = new Object[tabSize];			items = 0;			try {				for (int k = 0; k < copyValues.length; k++) {					if (copyValues[k] != null && copyValues[k] != REMOVED)						insert(copyKeys[k], copyValues[k]);				}				duplicate = (Entry)insert(key, entry);			} catch (HashtableOverflowException e1) {			}		}		if(duplicate != null)			removeEntry(duplicate);		if(first == null) {			first = entry;			last = first;		} else {			last.next = entry;			entry.prev = last;			last = entry;		}	}