private void defaultWriteFields(Object obj, ObjectStreamClass desc) throws IOException { desc.checkDefaultSerialize(); byte[] primVals = new byte[desc.getPrimDataSize()]; desc.getPrimFieldValues(obj, primVals); write(primVals); Object[] objVals = new Object[desc.getNumObjFields()]; desc.getObjFieldValues(obj, objVals); for (int i = 0; i < objVals.length; i++) { writeObject(objVals[i]); } }