Hello everyone, I suddenly had an idea while working on PDC: 
I noticed that PersistentDataContainer seems to be serializable into []byte
	
	
	
		
and can be deserialized in the PersistentDataContainer
	
	
	
		
Is it possible to create a PDC in memory to store a deep copy of the PDC obtained from the game, such as an ItemStack, and process it outside the main thread?
			
			I noticed that PersistentDataContainer seems to be serializable into []byte
		Java:
	
	public interface PersistentDataContainerView {
   ......
    /**
     * Serialize this {@link PersistentDataContainer} instance to a
     * byte array.
     *
     * @return a binary representation of this container
     * @throws java.io.IOException if we fail to write this container to a byte array
     */
    byte[] serializeToBytes() throws java.io.IOException;
}
	and can be deserialized in the PersistentDataContainer
		Java:
	
	public interface PersistentDataContainer extends io.papermc.paper.persistence.PersistentDataContainerView { // Paper - split up view and mutable
    ......
    
    /**
     * Read values from a serialised byte array into this
     * {@link PersistentDataContainer} instance.
     * This method has the same effect as
     * <code>PersistentDataContainer#readFromBytes(bytes, true)</code>
     *
     * @param bytes the byte array to read from
     * @throws java.io.IOException if the byte array has an invalid format
     */
    default void readFromBytes(final byte @NotNull [] bytes) throws java.io.IOException {
        this.readFromBytes(bytes, true);
    }
    // Paper end - byte array serialization
}
	Is it possible to create a PDC in memory to store a deep copy of the PDC obtained from the game, such as an ItemStack, and process it outside the main thread?