public bool TryGetAllModelEntities(
            out Dictionary <long, ITopologyElement> topologyElements,
            out Dictionary <long, List <long> > elementConnections,
            out HashSet <long> reclosers,
            out List <long> energySources)
        {
            TopologyElements.Clear();
            Measurements.Clear();
            EnergySources.Clear();
            ElementConnections.Clear();
            MeasurementToConnectedTerminalMap.Clear();
            TerminalToConnectedElementsMap.Clear();
            BaseVoltages.Clear();
            Reclosers.Clear();

            bool success = true;

            try
            {
                logger.LogInfo("Getting all network model elements and converting them...");
                GetBaseVoltages().Wait();
                Parallel.For(0, ConcreteModels.Count, (i) =>
                {
                    var model = ConcreteModels.ElementAt(i);
                    if (model != ModelCode.BASEVOLTAGE)
                    {
                        List <ModelCode> properties = modelResourcesDesc.GetAllPropertyIds(model);
                        var elements = networkModelGDA.GetExtentValues(model, properties).Result;
                        foreach (var element in elements)
                        {
                            TransformToTopologyElement(element);
                        }
                    }
                });

                foreach (var measurement in Measurements.Values)
                {
                    PutMeasurementsInElements(measurement);
                    Provider.Instance.MeasurementProvider.AddMeasurementElementPair(measurement.Id, measurement.ElementId);
                }

                foreach (var element in TopologyElements.Values)
                {
                    if (element.Measurements.Count == 0)
                    {
                        CreateNoScadaMeasurement(element);
                    }
                }

                topologyElements   = TopologyElements;
                elementConnections = ElementConnections;
                reclosers          = Reclosers;
                energySources      = EnergySources;
            }
            catch (Exception ex)
            {
                logger.LogError($"[NMSManager] Failed in get all network model elements. Exception message: {ex.Message}");
                topologyElements   = null;
                elementConnections = null;
                reclosers          = null;
                energySources      = null;
                success            = false;
            }
            return(success);
        }