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