public void close() {
throw new UnsupportedOperationException("Objects are not allowed to call ObjectInput.close() from readExternal()");
}
};
CustomObjectInputStream objectInput = CustomObjectInputStream.getInstance(context, callback);
externalizable.readExternal(objectInput);
objectInput.popCallback();
return externalizable;
} catch (InstantiationException e) {
throw new ConversionException("Cannot construct " + type.getClass(), e);
} catch (IllegalAccessException e) {