public void removeDelegate(System.Object aDelegate) { if( aDelegate == null ) return; if( ! locked ) { forceRemoveDelegate(aDelegate); } else { if( ! removeDelegate(aDelegate, handlersToAdd) ) { handlersToRemove.Add(aDelegate); toRemove = true; } } } #endregion