docs: private void finishStarting() throws RuntimeWarning {
          boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "finishStarting: " + ivName);
  
          // NOTE - Any state that is cleared here should also be cleared in
          // stoppingModule.
  
          if (ivModules != null) { // F743-26072
              notifyApplicationEventListeners(ivModules, true);
          }
  
          // Signal that the application is "fully started".
          unblockThreadsWaitingForStart(); // F743-15941
  
          synchronized (this) {
              // F743-506 - Now that the application is fully started, start the
              // queued non-persistent timers.
              if (ivQueuedNonPersistentTimers != null) {
                  startQueuedNonPersistentTimerAlarms();
                  ivQueuedNonPersistentTimers = null;
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "finishStarting");
      }