public void marshal(Object nl, OutputStream os) throws IOException { assert !alreadyMarshalled; init(FastOutputStream.wrap(os)); try { daos.writeByte(VERSION); writeVal(nl); } finally { daos.flushBuffer(); alreadyMarshalled = true; } }