protected void readObjectData(Collection<Object> obj, ReadContext ctx, Reader in, int length) {
   for (int i = 0; i < length; i++) {
     obj.add(Streamer.get().readObject(ctx, in));
   }
 }
  protected void writeObjectData(Collection<?> obj, WriteContext ctx, Writer out) {
    out.writeInt(obj.size());

    for (Object o : obj) Streamer.get().writeObject(o, ctx, out);
  }