docs: @Override
      public void notificationCreated(RuntimeUpdateManager updateManager, RuntimeUpdateNotification notification) {
  
          class MyCompletionListener implements CompletionListener<Boolean> {
              String notificationName;
  
              public MyCompletionListener(String name) {
                  notificationName = name;
              }
  
              @Override
              public void successfulCompletion(Future<Boolean> future, Boolean result) {
                  // The configuration update for which we were monitoring is now complete.
                  // Update our awareness to the update and perform any deferred actions.
                  configUpdateCompleted(notificationName);
              }
  
              @Override
              public void failedCompletion(Future<Boolean> future, Throwable t) {
                  // The configuration update failed, but we still want to resume functions.
                  // Update our awareness to the update and perform any deferred actions.
                  configUpdateCompleted(notificationName);
              }
          }
  
          if (deactivated)
              return;
  
          int prevCnt = configUpdateInProgress();
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(PersistentExecutorImpl.this, tc, "Notified of \"" + notification.getName() + "\" previous configUpdatesInProgress: " + prevCnt);
  
          FutureMonitor futureMonitor = _futureMonitor;
          if (futureMonitor != null) {
              MyCompletionListener newListener = new MyCompletionListener(notification.getName());
  
              futureMonitor.onCompletion(notification.getFuture(), newListener);
          }
      }