code: public void startedModule(EJBModuleMetaDataImpl mmd) throws RuntimeWarning { // F743-26072
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              Tr.debug(tc, "startedModule: " + mmd.getJ2EEName());
  
          // NOTE - Any state that is cleared here should also be cleared in
          // stoppingModule.
  
          // d701887 - CTS requires that we start startup singletons at the end
          // of module start rather than at the end of app start. We depend on
          // ejb-link (rather than merged view or similar) to resolve singleton
          // dependencies, so this isn't ideal for the reasons explained in
          // resolveBeanDependencies(BeanMetaData).
  
          if (ivSingletonDependencies != null) {
              resolveDependencies();
              ivSingletonDependencies = null;
          }
  
          if (ivStartupSingletonList != null) {
              createStartupBeans();
              ivStartupSingletonList = null;
          }
  
          // If this was a late-add module, then finishing up starting as if the
          // entire application had finished starting.
          if (ivModuleBeingAddedLate == mmd) {
              // ivModuleBeingAddedLate (and other state variables) will either
              // be cleared as part of finishStarting if the start finishes
              // successfully or as part of stoppingModule, which the caller is
              // required to call, if the start fails.
              finishStarting();
          }
      }
docs: Notification that a module within this application has finished starting
  successfully. The caller must ensure that a prior call to {@link #startingModule} has
  been made. If this method throws an exception, the caller is responsible for ensuring
  that stoppingModule is called.
  
  @param mmd
  the module
  @throws RuntimeWarning
  if an error occurs while finishing the start