anchor.diff:  constructor TDelphiLensUIProject.Create(const projectName: string);
   begin
     inherited Create;
  +  FScanLock := CreateOmniCriticalSection;
     FWorker := CreateTask(TDelphiLensUIWorker.Create(), 'DelphiLens engine for ' + projectName)
                  .SetParameter('owner', Self)
  +               .SetParameter('lock', FScanLock)
                  .Unobserved
                  .Run;
     FWorker.Invoke(@TDelphiLensUIWorker.Open, projectName);
  
positive.code:     Exit;
  
    Task.ClearTimer(CTimerRescan);
    scanResult := FDelphiLens.Rescan;
  
    Task.Invoke(
      procedure
  
negative.code: function TDelphiLensUIWorker.Initialize: boolean;
  begin
    Result := inherited Initialize;
    if Result then begin
      FOwner := Task.Param['owner'];
      FScanLock := Task.Param['lock'].AsInterface as IOmniCriticalSection;
    end;
  end; { TDelphiLensUIWorker.Initialize }
  
  procedure TDelphiLensUIWorker.Open(const projectName: TOmniValue);
  