public Bootstrapper(DispatcherLauncher launcher, ISubscriptionBus subscriptionBus, IPublishingBus publishingBus)
 {
     Launcher = launcher;
     SubscriptionBus = subscriptionBus;
     PublishingBus = publishingBus;
     ThreadExecutor = new ThreadExecutor();
 }
        public ComputationalUnitSupervisor(Bootstrapper bootstrapper, ISubscriptionBus subscriptionBus, IPublishingBus publishingBus,
            IReceivingBus receivingBus)
        {
            Debug.Assert(IntervalForCheckingIfDispatcherIsOnline < MaxTimeDispatcherCanBeSilent, "IntervalForCheckingIfDispatcherIsOnline < MaxTimeDispatcherCanBeSilent");

            AttachedDispatchers = new List<DispatcherId>();
            OfflineDispatchers = new List<DispatcherId>();
            Bootstrapper = bootstrapper;
            SubscriptionBus = subscriptionBus;
            PublishingBus = publishingBus;
            ReceivingBus = receivingBus;

            IsComputationalUnitRestorationEnabled = true;
        }