final SerializableClass serializableClass = registry.lookup(type);
final Object obj;
final BlockUnmarshaller blockUnmarshaller = getBlockUnmarshaller();
obj = externalizer.createExternal(type, blockUnmarshaller, DEFAULT_CREATOR);
instanceCache.set(idx, obj);
externalizer.readExternal(obj, blockUnmarshaller);
blockUnmarshaller.readToEndBlockData();
blockUnmarshaller.unblock();
final Object resolvedObject = objectResolver.readResolve(serializableClass.hasReadResolve() ? serializableClass.callReadResolve(obj) : obj);
if (unshared) {
instanceCache.set(idx, null);