public VideoPlayerController(IQueryProcessor processor, IPlayQueueStrategy playQueue, IHandleFileStrategy fileStrategy)
 {
     this._processor = processor;
     _observers = new List<IPlayController>();
     Queue = new Queue<FileNode>();
     this._playQueue = playQueue;
     _delayStrategy = new FileDelayStrategy(_processor, this);
     _handleFileStrategy = fileStrategy;
     AutoPlayList = false;
 }
        public void Handle(FileNode file, IVideoPlayerController controller, IPlayStrategy playStrategy, IQueryProcessor processor, IFileDelayStrategy delay)
        {
            var isStatFile = processor.Process(new IsStatFileQuery()
            {
                File = file
            });

            var isStatStrategy = playStrategy is PlayerStatPlayStrategy;

            if (isStatFile)
            {
                controller.ShowStats();
                delay.StartTimer();
            }
            else if (file.Type == FileType.Picture && isStatStrategy)
            {
                delay.StartTimer();
            }
        }