anchor.diff:  
       if not Terminated then
       begin
  +      FLetsGoEvent.WaitFor(INFINITE);
         FLetsGoEvent.ResetEvent;
  -      FLetsGoEvent.WaitFor(10000);
       end;
     end;
     Sleep (10);
  
positive.code:   finally
      FCriticalSection.Leave;
    end;
  end;
  
  function TUramakiEngineMessageQueue.Pick: TUramakiEngineMessage;
  
negative.code:   FMessagesThread.LetsDieEvent := FWaitForCloseThreadEvent;
    FMessagesThread.MessagesQueue := FMessagesQueue;
    FMessagesThread.DoProcessMessage:= Self.ProcessMessage;
    FMessagesQueue.Event := FMessagesThread.LetsGoEvent;
  end;
  
  destructor TUramakiEngine.Destroy;
  