mustHandleUnserializableParent = false;
}
if (serializationMethodInvoker.supportsWriteObject(currentType[0], false)) {
writtenClassWrapper[0] = true;
writer.startNode(mapper.serializedClass(currentType[0]));
CustomObjectOutputStream objectOutputStream = CustomObjectOutputStream.getInstance(context, callback);
serializationMethodInvoker.callWriteObject(currentType[0], source, objectOutputStream);
objectOutputStream.popCallback();
writer.endNode();
} else if (serializationMethodInvoker.supportsReadObject(currentType[0], false)) {
// Special case for objects that have readObject(), but not writeObject().
// The class wrapper is always written, whether or not this class in the hierarchy has
// serializable fields. This guarantees that readObject() will be called upon deserialization.