anchor.diff:    FMessages := TStringList.Create;
     FPendingNotificationsList := TPCThreadList.Create('TNodeNotifyEvents_PendingNotificationsList');
     FThreadSafeNodeNotifyEvent := TThreadSafeNodeNotifyEvent.Create(Self);
  -  FThreadSafeNodeNotifyEvent.FreeOnTerminate := true; // This is to prevent locking when freeing component
     Node := _Node;
   end;
   
  
positive.code:   if Assigned(FNode) then FNode.FNotifyList.Remove(Self);
    FThreadSafeNodeNotifyEvent.FNodeNotifyEvents := Nil;
    FThreadSafeNodeNotifyEvent.Terminate;
    FreeAndNil(FPendingNotificationsList);
    FreeAndNil(FMessages);
    inherited;
  
negative.code: constructor TThreadSafeNodeNotifyEvent.Create(ANodeNotifyEvents: TNodeNotifyEvents);
  begin
    FNodeNotifyEvents := ANodeNotifyEvents;
    Inherited Create(False);
  end;
  
  procedure TThreadSafeNodeNotifyEvent.SynchronizedProcess;
  