default ByteBuf byteBuf() {
        return byteBuf(ByteBufAccessMode.DUPLICATE);
    }
(Advanced users only) Returns a new duplicate of the underlying {@link ByteBuf} of this data.
This method does not transfer the ownership of the underlying {@link ByteBuf}, i.e. the reference
count of the {@link ByteBuf} does not change. If this data is not pooled, the returned {@link ByteBuf}
is not pooled, either, which means you need to worry about releasing it only when you created this data
with pooled objects. Any changes made in the content of the returned {@link ByteBuf} affects
the content of this data.

@see PooledObjects
core/src/main/java/com/linecorp/armeria/common/Bytes.java