code: public void write(DataOutput out) throws IOException {
      WritableUtils.writeVInt(out, values.length);
      WritableUtils.writeVLong(out, written);
      for (int i = 0; i < values.length; ++i) {
        Text.writeString(out, values[i].getClass().getName());
      }
      for (int i = 0; i < values.length; ++i) {
        if (has(i)) {
          values[i].write(out);
        }
      }
    }
docs: Writes each Writable to <code>out</code>.
  TupleWritable format:
  {@code
  <count><type1><type2>...<typen><obj1><obj2>...<objn>
  }