public RecyclingFileMonitor(IProfile profile, string watchFolder, string filterPattern, ProcessFileBatchDelegate processor)
        {
            this.processor = processor;
            this.profile   = profile;
            WatchFolder    = watchFolder;
            FilterPattern  = filterPattern;

            if (string.IsNullOrEmpty(FilterPattern))
            {
                FilterPattern = "*.*";
            }

            var path = Path.GetFullPath(WatchFolder);

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
        }
        public RecyclingFileMonitor(IProfile profile, string watchFolder, string filterPattern, ProcessFileBatchDelegate processor) {
            this.processor = processor;
            this.profile = profile;
            WatchFolder = watchFolder;
            FilterPattern = filterPattern;

            if(string.IsNullOrEmpty(FilterPattern)) {
                FilterPattern = "*.*";
            }

            var path = Path.GetFullPath(WatchFolder);

            if(!Directory.Exists(path)) {
                Directory.CreateDirectory(path);
            }
        }