@Override public void writeObject(Marshaller output, Object object) throws IOException { output.write(id); // Write as an unsigned, variable length, integer to safe space UnsignedNumeric.writeUnsignedInt(output, foreignId); externalizer.writeObject(output, object); }