// STATUS [ July 15, 2019 ] : this works
        // STEP 1
        /// <summary>
        ///     Get the current seasons hitting leaders; Endpoint parameters passed as parameters to method
        /// </summary>
        /// <remarks>
        ///     Parameters for 'HittingLeadersEndPoint' (i.e. numberToReturn, year, sortColumn) are passed as parameters to the method
        ///     See: https://appac.github.io/mlb-data-api-docs/#reports-hitting-leaders-get
        /// </remarks>
        /// <param name="numberToReturn">
        ///     The number of hitters to return in the results (e.g. 50 would show you the top 50 leaders)
        /// </param>
        /// <param name="year">
        ///     The year that you want to retrieve the leaders for (e.g. 2018 gets you leaders for 2018 mlb season)
        /// </param>
        /// <param name="sortColumn">
        ///     This is the stat you want to retrieve the leaders for (e.g., Hr, Rbi etc)
        ///     See: View 'LeadingHitter' model for options that you can sort by for this method
        /// </param>
        /// <example>
        ///     var hittingLeaders = CreateHittingLeadersModel(5, "2019", "hr");
        /// </example>
        /// <returns>
        ///     A list of instantiated 'LeadingHitter' for 'numberToReturn' number of hitters
        /// </returns>
        public List <LeadingHitter> CreateHittingLeadersModel(int numberToReturn, string year, string sortColumn)
        {
            var newEndPoint = _endPoints.HittingLeadersEndPoint(numberToReturn, year, sortColumn);

            C.WriteLine(newEndPoint);
            var           postmanRequest  = _postman.CreatePostmanRequest(newEndPoint, "HittingLeaders");
            var           postmanResponse = _postman.GetPostmanResponse(postmanRequest);
            IRestResponse response        = postmanResponse.Response;

            JObject leadersJObject      = _apiInfrastructure.CreateModelJObject(response);
            JToken  leadersJToken       = _apiInfrastructure.CreateModelJToken(leadersJObject, "HittingLeaders");
            int     jTokenChildrenCount = leadersJToken.Count <object>();

            C.WriteLine($"jTokenChildrenCount: {jTokenChildrenCount}");

            List <LeadingHitter> listOfPlayers            = new List <LeadingHitter>();
            LeadingHitter        newLeadingHitterInstance = new LeadingHitter();

            for (var counter = 0; counter < jTokenChildrenCount; counter++)
            {
                newLeadingHitterInstance =
                    _apiInfrastructure.CreateInstanceOfModel
                    (
                        leadersJToken[counter],
                        newLeadingHitterInstance,
                        "LeadingHitter"
                    ) as LeadingHitter;

                listOfPlayers.Add(newLeadingHitterInstance);
            }

            foreach (var player in listOfPlayers)
            {
                C.WriteLine(player.NameLastCommaFirst);
            }
            return(listOfPlayers);
        }
        // STATUS [ July 15, 2019 ] : this works
        /// <summary>
        ///     View instantiated PlayerSearch object
        /// </summary>
        /// <param name="playerLastName">todo: describe playerLastName parameter on ViewPlayerSearchModel</param>
        /// <remarks>
        ///     See: https://appac.github.io/mlb-data-api-docs/#player-data-player-search-get
        /// </remarks>
        /// <returns>
        ///     Instantiated PlayerSearch
        /// </returns>
        public List <PlayerSearch> ViewPlayerSearchModel(string playerLastName)
        {
            IRestResponse response            = GetPlayerSearchModelPostmanResponse(playerLastName);
            JObject       playerJObject       = _apiInfrastructure.CreateModelJObject(response);
            JToken        playerJToken        = _apiInfrastructure.CreateModelJToken(playerJObject, "PlayerSearch");
            int           jTokenChildrenCount = playerJToken.Count <object>();

            List <PlayerSearch> listOfPlayers           = new List <PlayerSearch>();
            PlayerSearch        newPlayerSearchInstance = new PlayerSearch();

            for (var counter = 0; counter < jTokenChildrenCount; counter++)
            {
                PlayerSearch playerSearchInstance =
                    _apiInfrastructure.CreateInstanceOfModel
                    (
                        playerJToken[counter],
                        newPlayerSearchInstance,
                        "PlayerSearch"
                    ) as PlayerSearch;

                listOfPlayers.Add(playerSearchInstance);
            }
            return(listOfPlayers);
        }