docs: @SuppressWarnings("restriction")
  	public final void putChar(int index, char value) {
  		final long pos = address + index;
  		if (index >= 0 && pos <= addressLimit - 2) {
  			UNSAFE.putChar(heapMemory, pos, value);
  		}
  		else if (address > addressLimit) {
  			throw new IllegalStateException("segment has been freed");
  		}
  		else {
  			// index is in fact invalid
  			throw new IndexOutOfBoundsException();
  		}
  	}