/*
         * TODO: Not sure if this should be implemented
         * /// <summary>
         * /// Execute query and returns resultset as generic BsonDataReader
         * /// </summary>
         * public IBsonDataReader ExecuteReader()
         * {
         *  _query.ExplainPlan = false;
         *
         *  return _engine.Query(_collection, _query);
         * }
         */

        /// <summary>
        /// Execute query and return resultset as IEnumerable of documents
        /// </summary>
        public Task <IEnumerable <BsonDocument> > ToDocumentsAsync()
        {
            return(_liteDatabaseAsync.EnqueueAsync(
                       () => _wrappedQuery.ToDocuments()));
        }
 /// <summary>
 /// Find a file inside datafile and returns LiteFileInfo instance. Returns null if not found
 /// </summary>
 public Task <LiteFileInfo <TFileId> > FindByIdAsync(TFileId id)
 {
     return(_liteDatabaseAsync.EnqueueAsync(
                () => _wrappedStorage.FindById(id)));
 }