{
super(Stoppable.PHASE_NAME, Stoppable.class, Startable.PHASE_NAME);
Set<LifecycleObject> stopOrderedObjects = new LinkedHashSet<LifecycleObject>();
// Stop in the opposite order to start
stopOrderedObjects.add(new NotificationLifecycleObject(FlowConstruct.class));
stopOrderedObjects.add(new NotificationLifecycleObject(Model.class, MuleContextNotification.class));
stopOrderedObjects.add(new NotificationLifecycleObject(Agent.class));
stopOrderedObjects.add(new NotificationLifecycleObject(Connector.class));
stopOrderedObjects.add(new NotificationLifecycleObject(QueueManager.class));
stopOrderedObjects.add(new NotificationLifecycleObject(Stoppable.class));
setIgnoredObjectTypes(ignorredObjects);
setOrderedLifecycleObjects(stopOrderedObjects);
//Yuo can initialise and stop
registerSupportedPhase(Initialisable.PHASE_NAME);