public void executeModelJobs ( @ Nonnull @ MustNotContainNull final ModelJob ... jobs ) { Utils . safeSwingCall ( new Runnable ( ) { @ Override public void run ( ) { for ( final ModelJob j : jobs ) { try { if ( ! j . doChangeModel ( model ) ) { break ; } } catch ( Exception ex ) { LOGGER . error ( "Errot during job execution" , ex ) ; } } fireNotificationMindMapChanged ( true ) ; } } ) ; }
Safe Swing thread execution sequence of some jobs over model with model changed notification in the end