anchor.diff:        FHandler : TNotifyManyEvent;
         FTimer: TTimer;
         FMode : TThrottledEventMode;
  +      FInterval : TTimeSpan;
         FLastClientNotify : TDateTime;
         FLastActualNotify : TDateTime;
         FSuppressedInvocations : Integer;
         procedure SetInterval(const ATimeSpan : TTimeSpan);
  -      function GetInterval : TTimeSpan;
         procedure OnTimer(Sender: TObject);
         procedure NotifyNow;
         procedure NotifyLater;
       public
  -      property Interval : TTimeSpan read GetInterval write SetInterval;
  +      property Interval : TTimeSpan read FInterval write SetInterval;
         property Mode : TThrottledEventMode read FMode write FMode;
         property LastClientNotify : TDateTime read FLastClientNotify;
         property LastActualNotify : TDateTime read FLastActualNotify;
  -      property SuppressedInvocations : Integer read FSuppressedInvocations write FSuppressedInvocations;
  +      property SuppressedInvocations : Integer read FSuppressedInvocations;
         constructor Create(Owner:TComponent); override;
         procedure Add(AListener : TNotifyEvent);
         procedure Remove(AListener : TNotifyEvent);
  
positive.code: procedure TThrottledEvent.NotifyLater;
  begin
    inc(FSuppressedInvocations);
    if NOT FTimer.Enabled then
      FTimer.Enabled:=true;
  end;
  
  procedure TThrottledEvent.OnTimer(Sender: TObject);
  
negative.code: begin
    Inherited Create(Owner);
    FTimer := TTimer.Create(Self);
    FInterval := TTimeSpan.FromMilliseconds( CT_DEFAULT_DELAYEDREFRESH_MS );
    FTimer.OnTimer := OnTimer;
    FTimer.Enabled := false;
    FSuppressedInvocations:=0;
  