public async Task <List <Battle> > GetBattlesAsync(string clanTag, ClanBattleFilter clanBattleFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            var apiResponse = await GetBattlesResponseAsync(clanTag, clanBattleFilter);

            return(apiResponse.GetModel());
        }
        public async Task <ApiResponse <List <Battle> > > GetBattlesResponseAsync(string clanTag, ClanBattleFilter clanBattleFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            var apiResponse = await _restApiClient.GetApiResponseAsync <List <Battle> >(UrlPathBuilder.GetClanBattleUrl(clanTag), clanBattleFilter?.ToQueryParams());

            return(apiResponse);
        }