ObjectIOClassNotFoundException, ObjectIODataCorruptedException,
ObjectIONotSerializableException, ProxyException {
if (!excludedObjectSet.containsKey(object)) {
ProxyManager2.forceLoad(object);
excludedObjectSet.put(object, object);
final ClassInfo classInfo = classInfoFactory
.getNoProxyClassInfo(object.getClass());
final FieldInfo[] fieldInfos = classInfo
.getAllDeclaredFieldsForGenericIO();
if (!classInfo.isBasicOrPrimitiveType()
&& !classInfo.isStringType()) {
for (final FieldInfo fieldInfo : fieldInfos) {
final Object referenced = helperReflect.getFieldValue(
object, fieldInfo, true);
if (referenced != null) {// NOPMD
excludeObject(referenced, excludedObjectSet);