protected final int _itemIndexEquals_(final Object key, final int hash) {
		final int index = this._itemIndexCompare_(key, hash);
		if (index < 0) return index;
		final CompactDataArray data = this._items_;
		final Object[] array = data.array();
		final int from = data.startIndex();
		if (this._itemEquals_(key, hash, array[index + from])) return index;
		Object item;
		for (int next = (index + from) - 1; (from <= next) && (this._itemCompare_(key, hash, item = array[next]) == 0); next--) {
			if (this._itemEquals_(key, hash, item)) return next - from;
		}
		for (int next = (index + from) + 1, last = data.finalIndex(); (next < last) && (this._itemCompare_(key, hash, item = array[next]) == 0); next++) {
			if (this._itemEquals_(key, hash, item)) return next - from;
		}
		return -index - 1;
	}