protected virtual DeleteStudyContext CreatePluginProcessingContext()
        {
            DeleteStudyContext context = new DeleteStudyContext();

            context.WorkQueueItem   = WorkQueueItem;
            context.ServerPartition = ServerPartition;
            context.Study           = Study;
            context.StorageLocation = StorageLocation;
            context.Filesystem      = FilesystemMonitor.Instance.GetFilesystemInfo(StorageLocation.FilesystemKey);
            return(context);
        }
        protected IList <IDeleteStudyProcessorExtension> LoadExtensions()
        {
            if (_extensions == null)
            {
                _extensions = CollectionUtils.Cast <IDeleteStudyProcessorExtension>(
                    new DeleteStudyProcessorExtensionPoint().CreateExtensions());

                DeleteStudyContext context = CreatePluginProcessingContext();
                foreach (IDeleteStudyProcessorExtension ext in _extensions)
                {
                    ext.Initialize(context);
                }
            }

            return(_extensions);
        }