public void Execute()
 {
     try
     {
         SingletonManager.Get <DurationHelp>().ProfileStart(CustomProfilerStep.UserPrediction);
         var users = _handler.UserCmdOwnerList;
         SingletonManager.Get <DurationHelp>().ProfileStart(CustomProfilerStep.UserPredictionCreateTasks);
         _taskDisparcher.CreateTasks(users);
         SingletonManager.Get <DurationHelp>().ProfileEnd(CustomProfilerStep.UserPredictionCreateTasks);
         SingletonManager.Get <DurationHelp>().ProfileStart(CustomProfilerStep.UserPredictionInternalRun);
         _mainThread.InternalRun();
         SingletonManager.Get <DurationHelp>().ProfileEnd(CustomProfilerStep.UserPredictionInternalRun);
     }
     finally
     {
         SingletonManager.Get <DurationHelp>().ProfileEnd(CustomProfilerStep.UserPrediction);
     }
 }