code: public ByteBuffer get(final int index) {
  		if (!validState) {
  			throw new InvalidStateException();
  		}
  		if (log.isDebugEnabled()) {
  			log.debug("get(" + index + ")");
  		}
  		try {
  			if (useMmap) {
  				final MappedByteBuffer mbb = getMmapForIndex(index);
  				if (mbb != null) {
  					return mbb;
  				}
  				// Fallback to RAF
  			}
  			final ByteBuffer buf = bufstack.pop();
  			fileChannel.position(index * blockSize).read(buf);
  			buf.rewind();
  			return buf;
  		} catch (Exception e) {
  			log.error("Exception in get(" + index + ")", e);
  		}
  		return null;
  	}
docs: Read block from file
  
  @param index of block
  @return ByteBuffer from pool with data