protected void RaiseEvent <TSource>(IEventOf <TSource> @event) where TSource : EventSource { if (@event == null) { throw new ArgumentNullException(nameof(@event)); } EventRoot.RaiseEventOf(@event); }