@Override
public T get(int offsetOrIndex) throws IOException {
T item;
item = cache.itemsActive.get(offsetOrIndex);
if (item == null) {
BinaryReader reader = pool.getReader();
item = createEntity(offsetOrIndex, reader);
pool.release(reader);
// if we get a collision in here, doesn't really matter - better
// a collision here than having each read queued
cache.itemsActive.put(offsetOrIndex, item);