if (classInfo.isUseSpecificObjectIO()) {
objectInput = specificObjectInputMap.get(classInfo);
} else {
final boolean immediate = !proxyMode || notLazy
|| classInfo.isStoreNotLazy();
final EnumObjectInput enumObjectInput;
try {
if (immediate) {
enumObjectInput = classInfo.getObjectInput();
} else {
enumObjectInput = classInfo.getLazyObjectInput();
}
} catch (final ClassInfoException exception) {
throw new ObjectIOException(exception);
}
// ASSERTX
assert !EnumObjectInput.OBJECT_INPUT_SPECIFIC
.equals(enumObjectInput) : "no default object io for specific io";
objectInput = objectInputs[enumObjectInput.ordinal()];
// ASSERTX
assert enumObjectInput.isLazy() == objectInput.isLazy() : "lazy mode mismatch";
}
return objectInput;
}