code: public <ResultT> Task<ResultT> findOneAndDelete(final Bson filter,
                                                    final Class<ResultT> resultClass) {
      return dispatcher.dispatchTask(new Callable<ResultT>() {
        @Override
        public ResultT call() {
          return proxy.findOneAndDelete(filter, resultClass);
        }
      });
    }
docs: Finds a document in the collection and delete it.
  
  @param filter      the query filter
  @param resultClass the class to decode each document into
  @param <ResultT>   the target document type of the iterable.
  @return a task containing the resulting document