@Override
 public IdAndVersion readNext() throws IOException {
   try {
     return IdAndVersion.readFromStream(objectInputStream);
   } catch (EOFException e) {
     return null;
   }
 }
 @Override
 public int estimateSizeInBytes(IdAndVersion item) {
   return item.getId().length() * BYTES_PER_CHAR + BYTES_PER_LONG;
 }