code: <T> void query(Query<T> query, IOConsumer<T> f) throws IOException {
      run(() -> rw.run(query).forEachRemaining(IOConsumer.unchecked(f)));
    }
docs: Prefer this method over {@link #query(Query)} to avoid gathering large results in a list.
  @see DatastoreReaderWriter#run(Query)
  @throws IOException if the underlying client throws {@link DatastoreException}
  or if {@code f} throws {@link IOException}.