static TimeMonitorRepository()
        {
            Thread thread = new Thread(() =>
            {
                while (true)
                {
                    Token token;
                    if (_tokenToProcess.TryDequeue(out token))
                    {
                        TimeMonitor tm;
                        if (!_timeMonitors.TryGetValue(token.Name, out tm))
                        {
                            tm = new TimeMonitor(token.Name);
                            _timeMonitors[token.Name] = tm;
                        }
                        tm.AddTime(token.Duration);
                    }
                    else
                    {
                        Thread.Sleep(5);
                    }
                }
            });

            thread.Name         = "TokenProcessor";
            thread.IsBackground = true;
            thread.Start();
        }
        public static TimeMonitor GetTimeMonitor(string name)
        {
            TimeMonitor result = null;

            if (_timeMonitors.TryGetValue(name, out result))
            {
                return(result);
            }
            return(result);
        }