code: public void readFields(DataInput in) throws IOException {
      int len = WritableUtils.readVInt(in);
      blocks = new BlockWithLocations[len];
      for(int i=0; i<len; i++) {
        blocks[i] = new BlockWithLocations();
        blocks[i].readFields(in);
      }
    }
docs: deserialization method