This class is designed to be used in conjunction with the {@link ConfigurationSerializable} API. It translates objects to an internalimplementation for later deserialization using {@link BukkitObjectInputStream}.
Behavior of implementations extending this class is not guaranteed across future versions.