private void StateDataSetsShouldBeReferenced()
        {
            var unreferencedStateDataSets = StateDataSets
                                            .Where(stateDataSetName => !ConnectedSystems.Any(cs => cs.EnabledDatasets.Any(ds => ds.StateDataSetName == stateDataSetName)))
                                            .ToList();

            if (unreferencedStateDataSets.Count > 0)
            {
                throw new ConfigurationException($"There are unreferenced State DataSets: {string.Join(", ", unreferencedStateDataSets)}.\n");
            }
        }
        private void ThereShouldBeAtLeastOneEnabledConnectedSystem()
        {
            if (ConnectedSystems == null)
            {
                throw new ConfigurationException($"{nameof(ConnectedSystem)} should be defined.");
            }

            if (!ConnectedSystems.Any(cs => cs.IsEnabled))
            {
                throw new ConfigurationException($"There should be at least 1 enabled {nameof(ConnectedSystem)}");
            }
        }