private static void ExecutePipeline(SemaphoreSlim semaphoreSlim, Type pipelineType, PipelineConfiguration configuration) { ISyncPipeline pipeline; try { if ((object)semaphoreSlim == null) { throw new ArgumentNullException(nameof(semaphoreSlim)); } if ((object)pipelineType == null) { throw new ArgumentNullException(nameof(pipelineType)); } if ((object)configuration == null) { throw new ArgumentNullException(nameof(configuration)); } pipeline = (ISyncPipeline)Activator.CreateInstance(pipelineType); if ((object)pipeline == null) { throw new InvalidOperationException(nameof(pipeline)); } using (pipeline) { pipeline.Configuration = configuration; pipeline.Create(); using (ISyncContext context = pipeline.CreateContext()) { context.Create(); pipeline.Execute(context); } } } finally { Thread.Sleep(10000); if ((object)semaphoreSlim != null) { semaphoreSlim.Release(); } } }