anchor.diff:  procedure TControlThread.Execute;
   var
     i : integer;
  -  runningJobs : integer;
     tmpThread : TJobThread;
     tmpJobResult : TJobResult;
     tmpCanDiedEvent : TSimpleEvent;
  +
  +  lastRunJobIdx : integer;
   begin
     try
  -    runningJobs := 0;
  +    lastRunJobIdx := -1;
  +    FJobsRunning.Clear;
   
       while not Terminated do
       begin
  
positive.code:     function Count : integer;
    end;
  
    TDoJobProcedure = procedure (aProgress: ImProgress; aJobResult : TJobResult) of object;
    TOnEndJobCallback = procedure (const aJobsResult : TJobResults) of object;
  
    TmJob = class
  
negative.code:   Result := TmJob.Create;
    GetControlThread(Self).Jobs.Add(Result);
    Result.FJobId:= GetControlThread(Self).Jobs.Count;
    Result.Data := nil;
  end;
  
  procedure TmBatchExecutor.Execute({$ifdef gui}aParentForm : TForm;{$endif}aCallBack : TOnEndJobCallback);
  