Thanks for the stacktrace, it is a great help, with that I was able to create a scenario that produces the error you described.
As the trace shows the exception does not come from the storage’s persistence layer. It is thrown by the Viewer (ViewerBinaryPersistenceManager.java:291). With that information I can say that you discovered a bug in the Viewer but the storage itself is not affected. The data should be loaded on startup correctly; if not please let me know.
What happens is that the restservice reads the persisted data chunk of the ZoneRegion but does not find a “handler” for that. The restservice uses other handlers than the storage as it does not re-create the persisted objects. Instead, it creates an object that holds all information about the persisted object to be displayed by the Viewer.
Those handlers are created for all known types already persistet by the storage during the restservice initialization. But there seems to be a problem if new types are added at runtime.
This is an issue we must fix.
As workaround you may move the restservice initialization to a point where the storage already persisted all types at least once.