public NestResult Start(IEggParameters parameters)
        {
            var thumbnailGenerationParameters = parameters == null ? null : pofSerializer.Deserialize<ThumbnailGenerationParameters>(new MemoryStream(parameters.Arguments));

             this.parameters = parameters;
             if (parameters == null || thumbnailGenerationParameters == null) {
            // construct libdargon.management dependencies
            ITcpEndPoint managementServerEndpoint = networkingProxy.CreateAnyEndPoint(kDaemonManagementPort);
            var managementFactory = new ManagementFactoryImpl(collectionFactory, threadingProxy, networkingProxy, pofContext, pofSerializer);
            var localManagementServer = managementFactory.CreateServer(new ManagementServerConfiguration(managementServerEndpoint));
            keepalive.Add(localManagementServer);
            localManagementServer.RegisterInstance(new ThumbnailGenerationMob(thumbnailGeneratorService));
            shutdownLatch.WaitOne();
             } else {
            thumbnailGeneratorService.GenerateThumbnails(thumbnailGenerationParameters);
             }
             return NestResult.Success;
        }
        public NestResult Start(IEggParameters parameters)
        {
            var thumbnailGenerationParameters = parameters == null ? null : pofSerializer.Deserialize <ThumbnailGenerationParameters>(new MemoryStream(parameters.Arguments));

            this.parameters = parameters;
            if (parameters == null || thumbnailGenerationParameters == null)
            {
                // construct libdargon.management dependencies
                ITcpEndPoint managementServerEndpoint = networkingProxy.CreateAnyEndPoint(kDaemonManagementPort);
                var          managementFactory        = new ManagementFactoryImpl(collectionFactory, threadingProxy, networkingProxy, pofContext, pofSerializer);
                var          localManagementServer    = managementFactory.CreateServer(new ManagementServerConfiguration(managementServerEndpoint));
                keepalive.Add(localManagementServer);
                localManagementServer.RegisterInstance(new ThumbnailGenerationMob(thumbnailGeneratorService));
                shutdownLatch.WaitOne();
            }
            else
            {
                thumbnailGeneratorService.GenerateThumbnails(thumbnailGenerationParameters);
            }
            return(NestResult.Success);
        }