public void Apply(Action action) { if (null == action) { throw new ArgumentNullException("action"); } AcquireWriterLock(); try { foreach (object item in _list) { action(item); } } finally { ReleaseWriterLock(); } }