private void RaiseStateUpdatedIfNecessary (bool? hasChangedFastBefore)
 {
   var hasChangedFastNow = _innerEndPoint.HasChangedFast;
   // We only raise the update if the state has changed or if we don't know the state before the operation.
   if (hasChangedFastBefore == null || hasChangedFastBefore != hasChangedFastNow)
     _listener.VirtualEndPointStateUpdated (_innerEndPoint.ID, hasChangedFastNow);
 }
 public override void Perform()
 {
     try
     {
         base.Perform();
     }
     finally
     {
         _listener.VirtualEndPointStateUpdated(_modifiedEndPointID, _changeStateProvider());
     }
 }