This looks like the pattern `LocationSerializer.LocationPointer` (in https://github.com/brooklyncentral/brooklyn/blob/feature/storage2/core/src/main/java/brooklyn/internal/storage/impl/LocationSerializer.java). Will need to merge those concepts.