return new DirectByteBufferImpl (this, DirectByteBufferImpl .adjustAddress(address, position()), rem, rem, 0, isReadOnly ());
if (isReadOnly()) return new DirectByteBufferImpl.ReadOnly (this, VMDirectByteBuffer.adjustAddress(address, position()), rem, rem, 0); else return new DirectByteBufferImpl.ReadWrite (this, VMDirectByteBuffer.adjustAddress(address, position()), rem, rem, 0);
  public ByteBuffer slice ()  {    int rem = remaining();    return new DirectByteBufferImpl (this,				     DirectByteBufferImpl				     .adjustAddress(address, position()),				     rem, rem, 0, isReadOnly ());  }