public void Check( DateTime now )
{
lock ( SyncRoot )
{
if ( Place == null )
throw new InvalidOperationException();
if ( this.Equals( Place.Acting ) == false )
throw new InvalidOperationException();
if ( ActionDescriptor.TryComplete( this, now ) )
{
Place.SetActing( null );
}
}
}