anchor.diff:  
   var
     internalBatchExecutor : TmBatchExecutor;
  +  {$IFDEF DEBUG}
  +  logger : TmLog;
  +  {$ENDIF}
   
   function GetControlThread (aExecutor : TmBatchExecutor) : TControlThread;
   begin
  
positive.code:           begin
              inc (lastRunJobIdx);
              FJobsRunning.Add(lastRunJobIdx);
  
              tmpJobResult := TJobResult.Create;
              FCurrentJobResults.Add(tmpJobResult);
  
negative.code:   lastRunJobIdx : integer;
  begin
    try
      while not Terminated do
      begin
        FCanStartEvent.WaitFor(INFINITE);
  
        lastRunJobIdx := -1;
        FJobsRunning.Clear;
  
        {$IFDEF DEBUG}
        logger.Debug('[TControlThread] Scheduled jobs:' + IntToStr(FJobs.Count));
        logger.Debug('[TControlThread] Max parallel jobs:' + IntToStr(FMaxConcurrentThreads));
        {$ENDIF}
  
        if FJobs.Count > 0 then
        begin
  