public ReferenceDataAgentProvider(HttpClient?httpClient = null, Action <HttpRequestMessage>?beforeRequest = null)
        {
            _agent = new ReferenceDataAgent(httpClient, beforeRequest);

            _cacheDict.Add(typeof(RefDataNamespace.Gender), new ReferenceDataCache <RefDataNamespace.GenderCollection, RefDataNamespace.Gender>(() => _agent.GenderGetAllAsync().ContinueWith((t) => t.Result.Value)));
            _cacheDict.Add(typeof(RefDataNamespace.EyeColor), new ReferenceDataCache <RefDataNamespace.EyeColorCollection, RefDataNamespace.EyeColor>(() => _agent.EyeColorGetAllAsync().ContinueWith((t) => t.Result.Value)));
            _cacheDict.Add(typeof(RefDataNamespace.PowerSource), new ReferenceDataCache <RefDataNamespace.PowerSourceCollection, RefDataNamespace.PowerSource>(() => _agent.PowerSourceGetAllAsync().ContinueWith((t) => t.Result.Value)));
            _cacheDict.Add(typeof(RefDataNamespace.Company), new ReferenceDataCache <RefDataNamespace.CompanyCollection, RefDataNamespace.Company>(() => _agent.CompanyGetAllAsync().ContinueWith((t) => t.Result.Value)));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ReferenceDataAgentProvider"/> class.
        /// </summary>
        /// <param name="httpClient">The <see cref="HttpClient"/> (where overridding the default value).</param>
        /// <param name="beforeRequest">The <see cref="Action{HttpRequestMessage}"/> to invoke before the <see cref="HttpRequestMessage">Http Request</see> is made (see <see cref="WebApiServiceAgentBase.BeforeRequest"/>).</param>
        public ReferenceDataAgentProvider(HttpClient httpClient = null, Action <HttpRequestMessage> beforeRequest = null)
        {
            _agent = new ReferenceDataAgent(httpClient, beforeRequest);

            _nameDict.Add(ReferenceData.Property_Gender, typeof(RefDataNamespace.Gender));
            _typeDict.Add(typeof(RefDataNamespace.Gender), ReferenceData.Property_Gender);
            _cacheDict.Add(typeof(RefDataNamespace.Gender), new ReferenceDataCache <RefDataNamespace.GenderCollection, RefDataNamespace.Gender>(() => _agent.GenderGetAllAsync().ContinueWith((t) => t.Result.Value)));

            _nameDict.Add(ReferenceData.Property_EyeColor, typeof(RefDataNamespace.EyeColor));
            _typeDict.Add(typeof(RefDataNamespace.EyeColor), ReferenceData.Property_EyeColor);
            _cacheDict.Add(typeof(RefDataNamespace.EyeColor), new ReferenceDataCache <RefDataNamespace.EyeColorCollection, RefDataNamespace.EyeColor>(() => _agent.EyeColorGetAllAsync().ContinueWith((t) => t.Result.Value)));

            _nameDict.Add(ReferenceData.Property_Company, typeof(RefDataNamespace.Company));
            _typeDict.Add(typeof(RefDataNamespace.Company), ReferenceData.Property_Company);
            _cacheDict.Add(typeof(RefDataNamespace.Company), new ReferenceDataCache <RefDataNamespace.CompanyCollection, RefDataNamespace.Company>(() => _agent.CompanyGetAllAsync().ContinueWith((t) => t.Result.Value)));
        }