public void sendNotification ( final Notification notification ) { ContextAwareTimer . Context timer = this . notificationTimer . time ( ) ; if ( ! this . notificationTargets . isEmpty ( ) ) { for ( final Map . Entry < UUID , Function < Notification , Void > > entry : this . notificationTargets . entrySet ( ) ) { try { entry . getValue ( ) . apply ( notification ) ; } catch ( RuntimeException exception ) { LOG . warn ( "RuntimeException when running notification target. Skipping." , exception ) ; } } } if ( getParent ( ) . isPresent ( ) ) { getParent ( ) . get ( ) . sendNotification ( notification ) ; } timer . stop ( ) ; }
Send a notification to all targets of this context and to the parent of this context .