@Override
 public boolean nextKeyValue() throws IOException, InterruptedException {
   if (rdr.hasNext()) {
     value = new BSONWritable(rdr.next());
     return true;
   } else {
     return false;
   }
 }
 @Override
 public float getProgress() throws IOException, InterruptedException {
   return rdr.hasNext() ? 1.0f : 0.0f;
 }