throws ObjectIOException {
IObjectOutput objectOutput;
if (classInfo.isUseSpecificObjectIO()) {
objectOutput = specificObjectOutputMap.get(classInfo);
} else {
final EnumObjectOutput enumObjectOutput;
try {
enumObjectOutput = classInfo.getObjectOutput();
} catch (final ClassInfoException exception) {
throw new ObjectIOException(exception);
}
assert assertNotSpecificObjectOutput(enumObjectOutput);
objectOutput = objectOutputs[enumObjectOutput.ordinal()];
}
return objectOutput;
}