class NotificationSubsystemInitializer implements ServletContextListener {

    private static final Logger LOGGER = Logger.getLogger(NotificationSubsystemInitializer.class);

    // Starts the NotificationService
    private static final NotificationService NOTIFICATION_SERVICE = NotificationService.getInstance();

    /**
     * {@inheritDoc}
     */
    @Override
    public void contextInitialized(final ServletContextEvent event) {<FILL_FUNCTION_BODY>}

    /**
     * {@inheritDoc}
     */
    @Override
    public void contextDestroyed(final ServletContextEvent event) {
        LOGGER.info("Shutting down notification service");
        NOTIFICATION_SERVICE.shutdown();
    }
}

        if (RequirementsVerifier.failedValidation()) {
            return;
        }
        LOGGER.info("Initializing notification service");
        NOTIFICATION_SERVICE.subscribe(new Subscription(NotificationRouter.class));
    
<no_super_class>