public async Task <TResult> ExecuteQueryAsync <TSearch, TResult>(IQueryAsync <TSearch, TResult> query, TSearch search)
 {
     logger.Log(query, search);
     return(await query.Execute(search));
 }