@Override
  public void readFields(DataInput dataInput) throws IOException {
    String uuid = dataInput.readUTF();
    long timestamp = dataInput.readLong();
    entry = new StoreEntry(uuid, timestamp);

    int count = dataInput.readInt();
    for (int i = 0; i < count; i++) {
      String key = dataInput.readUTF();
      String type = dataInput.readUTF();
      String val = dataInput.readUTF();
      String vis = dataInput.readUTF();
      try {
        entry.put(new Tuple(key, typeRegistry.decode(type, val), vis));
      } catch (TypeDecodingException e) {
        throw new RuntimeException(e);
      }
    }
  }