@SuppressWarnings ({"unchecked"})
	protected final GEntry appendEntry(final GKey key, final GValue value, final boolean verifyLength) {
		final int hash = this.getKeyHash(key);
		final Object[] table = this._table_;
		if (table.length == 0) {
			this.verifyLength(1);
			this._size_++;
			this._table_[0] = this.createEntry(key, value, null, hash);
			return null;
		}
		final int index = this.getIndex(hash, table.length);
		GEntry item = (GEntry)table[index];
		for (GEntry last = null, next; item != null; last = item, item = next) {
			next = this.getEntryNext(item);
			if (this.getEntryEquals(item, key, hash)) {
				if (last == null) {
					table[index] = this.createEntry(key, value, next, hash);
				} else {
					this.setEntryNext(last, this.createEntry(key, value, next, hash));
				}
				return item;
			}
		}
		this._size_++;
		final GEntry item2 = (GEntry)table[index];
		table[index] = this.createEntry(key, value, item2, hash);
		if (!verifyLength) return null;
		this.verifyLength();
		return null;
	}