public String memento(Object viewModelPojo) {
final MementoService mementoService = servicesInjector.lookupService(MementoService.class);
final BookmarkService bookmarkService = servicesInjector.lookupService(BookmarkService.class);
final MementoService.Memento memento = mementoService.create();
// this is horrible, but there's a catch-22 here...
// we need an adapter in order to query the state of the object via the metamodel, on the other hand
// we can't create an adapter without the identifier, which is what we're trying to derive
// so... we create a temporary transient adapter, use it to wrap this adapter and interrogate this pojo,