private SingleInstanceManager(string applicationId, Action<string[]> argumentsHandler,
     ArgumentsDeliveryStrategy strategy, Func<string, string[]> argumentsProvider,
     IArgumentsHandlerInvoker argumentsHandlerInvoker, InstanceNotificationOption instanceNotificationOption,
     Action<Exception> deliveryFailureNotification)
 {
     this.applicationId = applicationId;
     this.argumentsHandler = argumentsHandler;
     this.strategy = strategy;
     this.argumentsProvider = argumentsProvider ?? (appId => Environment.GetCommandLineArgs());
     this.argumentsHandlerInvoker = argumentsHandlerInvoker ?? new ThreadPoolInvoker();
     this.instanceNotificationOption = instanceNotificationOption;
     this.deliveryFailureNotification = deliveryFailureNotification;
 }
 private SingleInstanceManager(string applicationId, Action <string[]> argumentsHandler,
                               ArgumentsDeliveryStrategy strategy, Func <string, string[]> argumentsProvider,
                               IArgumentsHandlerInvoker argumentsHandlerInvoker, InstanceNotificationOption instanceNotificationOption,
                               Action <Exception> deliveryFailureNotification)
 {
     this.applicationId               = applicationId;
     this.argumentsHandler            = argumentsHandler;
     this.strategy                    = strategy;
     this.argumentsProvider           = argumentsProvider ?? (appId => Environment.GetCommandLineArgs());
     this.argumentsHandlerInvoker     = argumentsHandlerInvoker ?? new ThreadPoolInvoker();
     this.instanceNotificationOption  = instanceNotificationOption;
     this.deliveryFailureNotification = deliveryFailureNotification;
 }