code: @Override
      public void applicationStarted(ApplicationInfo appInfo) throws StateChangeException {       
          // If we can't get the J2EEName of the application, then we don't care about this application.
          String appName = appInfo.getDeploymentName();
          if (null == appName) return;
  
          // We only care about applications that have had web module metadata created.
          // The remove operation returns null if we don't find this app in webModulesInStartingApps
          ConcurrentHashMap<J2EEName,WebModuleMetaData> modules = webModulesInStartingApps.remove(appName);
          if (null != modules) {
              // We found the metadata for this app, and it has been removed from webModulesInStartingApps.
              // Now take the modules we removed from webModulesInStartingApps, and add them to webModulesInStartedApps
              webModulesInStartedApps.put(appName, modules);
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Web application started - " + appName);
              }
  
          }
      }
docs: /* (non-Javadoc)
  @see com.ibm.ws.container.service.state.ApplicationStateListener#applicationStarted(com.ibm.ws.container.service.app.deploy.ApplicationInfo)
  When an application is started, we must move the metadata from webModulesInStartingApps to webModulesInStartedApps.