/** {@inheritDoc} */ public Object getOnce(Object key, Object aux) throws IOException { if (key == null) throw new IllegalArgumentException(); final ByteBuffer buf; synchronized (this) { buf = m_lruMap.remove(key); } if (buf != null) { final CacheObjectBroker broker = m_cache.getCacheObjectBroker(); buf.position(0); return broker.decodeFromByteBuffer(buf, aux); } return m_cache.readFromStore(key, aux); }