private void Load()
        {
            _multiConduitInfos         = new Dictionary <Guid, MultiConduitInfo>();
            _singleConduitInfos        = new Dictionary <Guid, SingleConduitInfo>();
            _singleConduitJuncionInfos = new Dictionary <Guid, SingleConduitSegmentJunctionInfo>();
            _pointOfInterestIndex      = new PointOfInterestIndex(routeNetworkQueryService);

            using (var session = documentStore.LightweightSession())
            {
                // Fetch everything into memory for fast access
                var multiConduits = session.Query <MultiConduitInfo>();

                foreach (var multiConduit in multiConduits)
                {
                    UpdateMultiConduitInfo(multiConduit);
                }

                var singleConduits = session.Query <SingleConduitInfo>();

                foreach (var singleConduit in singleConduits)
                {
                    UpdateSingleConduitInfo(singleConduit);
                }
            }
        }
        public ConduitNetworkQueryService(IDocumentStore documentStore, IRouteNetworkState routeNetworkQueryService)
        {
            this.documentStore            = documentStore;
            this.routeNetworkQueryService = routeNetworkQueryService;
            this._pointOfInterestIndex    = new PointOfInterestIndex(routeNetworkQueryService);


            var config = new MapperConfiguration(cfg => {
                cfg.CreateMap <SingleConduitInfo, SingleConduitInfo>();
                cfg.CreateMap <MultiConduitInfo, MultiConduitInfo>();
            });


            _mapper = config.CreateMapper();

            Load();
        }