public async Task <ApiResponse <WarLog> > GetWarlogResponseAsync(string clanTag, ClanWarlogFilter clanWarlogFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(clanTag, nameof(clanTag));

            if (clanWarlogFilter?.After != null && clanWarlogFilter.Before != null)
            {
                throw new InvalidOperationException("Only after or before can be specified for a request, not both.");
            }

            var apiResponse = await _restApiClient.GetApiResponseAsync <WarLog>(UrlPathBuilder.GetWarlogUrl(clanTag), clanWarlogFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <WarLog> GetWarlogAsync(string clanTag, ClanWarlogFilter clanWarlogFilter = null)
        {
            var apiResponse = await GetWarlogResponseAsync(clanTag, clanWarlogFilter);

            return(apiResponse.GetModel());
        }