Triggering Events
To ensure that your Event Handler code gets fired, use the Subscribe or SubscribeAsync method in the EventSystem class of the Tridion.ContentManager.Extensibility namespace.
An event can trigger an Event Handler, which in turn triggers an event which triggers another Event Handler and so on. For example, when a Component is created it triggers an Event Handler that creates a Page, and the Page creation event itself may trigger another Event Handler.
In case of infinite loops, for example the creation of a Component triggering an Event Handler that creates a Component, the Event System catches the loop and stops the original Event Handler from being executed.