public RegisteredSourceProcessingGroup(RegisteredEnergyObservationSourceWrapper sourceRegistration,
                                               IProcessingFactory <IEnergyObservation> processingFactory)
        {
            _sourceRegistration = sourceRegistration;
            Processor           = processingFactory.CreateProcessor();
            Storage             = processingFactory.CreateStorage();
            Analizer            = processingFactory.CreateAnalizer();

            _processorSubscription = _sourceRegistration.Subscribe(Processor);
        }
        public RegisteredSourceProcessingGroup(RegisteredEnergyObservationSourceWrapper <T> sourceRegistration, IProcessingFactory <T> factory)
        {
            _sourceRegistration = sourceRegistration ?? throw new ArgumentNullException(nameof(sourceRegistration));
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            Processor = factory.CreateProcessor();
            Storage   = factory.CreateStorage();
            Analizer  = factory.CreateAnalizer();

            _processorSubscription = _sourceRegistration.Subscribe(Processor);
        }