AbstractConverter binaryConverter;
try {
binaryConverter = helperBinaryConversion.fromBinary(binary,
offset, fieldType);
} catch (BinaryConverterException exception) {
throw new ObjectIOException(exception);
}
final Object fieldValue = binaryConverter.objectFromBinary;
binaryConverter.objectFromBinary = null;// NOPMD
try {
final ObjectAndPersistInfo fieldAndPersistInfo = objectIOManager
.createObjectPersistInfoOfObject(
fieldValue,
Boolean.FALSE,
fieldValue == null ? ClassInfo.NULL
: classInfoFactory
.getNoProxyClassInfo(fieldValue
.getClass()), false);
fieldValueClassInfoAndDeclared = new ObjectClassInfoAndDeclared(
fieldAndPersistInfo, fieldType);
} catch (ClassInfoException exception) {
throw new ObjectIOException(exception);
}
offset += fieldType.getBinarySize();
} else {
final ObjectAndPersistInfo fromReference = referenceInput
.fromBinary(binary, offset);