Returns a deep copy of this buffer. The returned Buffer initially shares the underlying ByteArrays. See UnsafeCursor for more details.