code: @Override
  	public final byte get(int index) {
  		final long pos = address + index;
  		if (index >= 0 && pos < addressLimit) {
  			return UNSAFE.getByte(heapMemory, pos);
  		}
  		else if (address > addressLimit) {
  			throw new IllegalStateException("segment has been freed");
  		}
  		else {
  			// index is in fact invalid
  			throw new IndexOutOfBoundsException();
  		}
  	}
docs: ------------------------------------------------------------------------