private static async Task <IEnumerable <MarketGroup> > ListAvailableMarketGroups(IDataContext context, ITakeRateDocument document)
        {
            IEnumerable <MarketGroup> marketGroups;

            //var cacheKey = string.Format("MarketGroup_{0}", document.UnderlyingOxoDocument.Id);

            //var cachedObject = GetCache(cacheKey);
            //if (cachedObject != null)
            //{
            //    marketGroups = (IEnumerable<MarketGroup>) cachedObject;
            //}
            //else
            //{
            marketGroups = await context.TakeRate.ListAvailableMarketGroups(new TakeRateFilter()
            {
                DocumentId = document.UnderlyingOxoDocument.Id
            });

            //    if (marketGroups != null && marketGroups.Any())
            //        AddCache(cacheKey, marketGroups);
            //}

            return(marketGroups);
        }
        private static async Task<IEnumerable<MarketGroup>> ListAvailableMarketGroups(IDataContext context, ITakeRateDocument document)
        {
            IEnumerable<MarketGroup> marketGroups;

            //var cacheKey = string.Format("MarketGroup_{0}", document.UnderlyingOxoDocument.Id);

            //var cachedObject = GetCache(cacheKey);
            //if (cachedObject != null)
            //{
            //    marketGroups = (IEnumerable<MarketGroup>) cachedObject;
            //}
            //else
            //{
                marketGroups = await context.TakeRate.ListAvailableMarketGroups(new TakeRateFilter()
                {
                    DocumentId = document.UnderlyingOxoDocument.Id
                });

            //    if (marketGroups != null && marketGroups.Any())
            //        AddCache(cacheKey, marketGroups);
            //}

            return marketGroups;
        }