*/
protected <T extends BaseProxy> T checkSerialization(T proxy) {
AutoBean<T> originalBean = AutoBeanUtils.getAutoBean(proxy);
SimpleProxyId<T> id = BaseProxyCategory.stableId(originalBean);
DefaultProxyStore store = new DefaultProxyStore();
ProxySerializer s = req.getSerializer(store);
String key = s.serialize(proxy);
assertNotNull(key);
// Use a new instance
store = new DefaultProxyStore(store.encode());
s = req.getSerializer(store);
T restored = s.deserialize(id.getProxyClass(), key);
AutoBean<? extends BaseProxy> restoredBean = AutoBeanUtils.getAutoBean(restored);
assertNotSame(proxy, restored);
/*
* Performing a regular assertEquals() or even an AutoBeanUtils.diff() here
* is wrong. If any of the objects in the graph are unpersisted, it's