public void EnqueueAnalyzingRequest(IGherkinProcessingTask task)
        {
            tracer.Trace("Analyzing request '{1}' queued on thread: {0}", this, Thread.CurrentThread.ManagedThreadId, task);
            if (analyzerQueue == null)
            {
                tracer.Trace("Unable to perform analyzing request: Analyzer queue is not initialized!", this);
                return;
            }

            analyzerQueue.EnqueueTask(task);
        }
        public void EnqueueParsingRequest(IGherkinProcessingTask change)
        {
            //tracer.Trace("Change queued on thread: " + Thread.CurrentThread.ManagedThreadId, "GherkinProcessingScheduler");
            if (parserQueue == null)
            {
                tracer.Trace("Unable to perform parsing request: Parser queue is not initialized!", this);
                return;
            }

            parserQueue.EnqueueTask(change);
            if (analyzerQueue != null)
            {
                analyzerQueue.Ping();
            }
        }