private ObjectAndPersistInfo createProxy(final ClassInfo classInfo,
final StorageInfo storageInfo,
final DataRecordIdentifier dataRecordIdentifier)
throws ObjectIOException, ObjectIOInvalidClassException,
ObjectIONotSerializableException {
final ObjectAndPersistInfo objectAndPersistInfo;
try {
objectAndPersistInfo = proxyManager2.newInstanceNoConstruction(
classInfo, storageInfo, objectIOManager,
dataRecordIdentifier, true);
} catch (ProxyException exception) {
final Throwable cause = exception.getCause();
if (cause instanceof IllegalArgumentException) {
throw new ObjectIONotSerializableException(exception);
} else {
throw new ObjectIOInvalidClassException(FAILED_CREATE_OBJECT
+ " " + classInfo, exception);
}
}
objectAndPersistInfo.setStorageInfo(storageInfo);
return objectAndPersistInfo;
}