public final V get(final K key) {
		this.querycount++;
		final HashCounter hc = new HashCounter(key);
		if (hc.minCounter == 0) return null;
		Entry<K,V> e = new Entry<K,V>(key);
		V r = null;
		if (!pruned) {
			Integer index = off[hc.mli].indexOf(e);
			if (index == -1) {
				this.fpcount++;
				return r;
			}
			r =  off[hc.mli].get(index).getV();
		} else {
			try {
				r = onl[hc.mli].get(onl[hc.mli].indexOf(e)).getV();
			} catch (ArrayIndexOutOfBoundsException ax) {
				try {
					r = cam.get(e.getK()).getV();
				} catch (NullPointerException nx) {
					this.fpcount++;
				}
			}
		}
		return r;
	}