public void readPortable(PortableReader reader) throws IOException {
   super.readPortable(reader);
   index = reader.readInt("i");
   value = new Data();
   value.readData(reader.getRawDataInput());
 }
 public void writePortable(PortableWriter writer) throws IOException {
   super.writePortable(writer);
   writer.writeInt("i", index);
   value.writeData(writer.getRawDataOutput());
 }