public void GetHistory(IDataFeed dataFeed, Selection p, HistoryAnswerHandler callback)
        {
            if (p.From == DateTime.MinValue && p.BarCount < 1) //use bar count (and end date if specified)
            {
                callback(p, new List <Bar>());
                return;
            }

            var cached = GetFromtCache(p);

            if (cached.Count > 0 && p.IsEnoughData(cached))
            {
                cached = p.TrimBars(cached);
                callback(p, cached);
                return;
            }

            _dataCacheManager.GetHistory(p, dataFeed, (@params, data) =>
            {
                Add2Cache(p, data);
                cached = p.TrimBars(data);

                callback(p, cached);
            });
        }