public async Task <ApiResponse <Player> > GetPlayerResponseAsync(string playerTag, PlayerFilter playerFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            var apiResponse = await _restApiClient.GetApiResponseAsync <Player>(UrlPathBuilder.GetPlayerUrl(playerTag), playerFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <ApiResponse <List <Player> > > GetPlayersResponseAsync(string[] playerTags, PlayerFilter playerFilter = null)
        {
            Ensure.ArgumentNotNullOrEmptyEnumerable(playerTags, nameof(playerTags));

            var apiResponse = await _restApiClient.GetApiResponseAsync <List <Player> >(UrlPathBuilder.GetPlayerUrl(playerTags), playerFilter?.ToQueryParams());

            return(apiResponse);
        }
        public async Task <IApiResponse <Player> > GetPlayerResponseAsync(string playerTag)
        {
            Ensure.ArgumentNotNullOrEmptyString(playerTag, nameof(playerTag));

            IApiResponse <Player> apiResponse = await RestApiClient.GetApiResponseAsync <Player>(UrlPathBuilder.GetPlayerUrl(playerTag));

            return(apiResponse);
        }