code: @Override
      public void moduleMetaDataCreated(MetaDataEvent<ModuleMetaData> event) throws MetaDataException {
          // We only save meta data if it is for a web module
          if (event.getMetaData() instanceof WebModuleMetaData) {
              String appName = event.getMetaData().getJ2EEName().getApplication();
              // Synchronization needed here, so only the first web module in an app initializes the data structures.
              // The if condition and the logic in the else clause must be run without any other threads changing webModulesInStartingApps
              synchronized (webModulesInStartingApps_lock) {
                  if (webModulesInStartingApps.containsKey(appName)) {
                      // Some other web module was already found for this app, so just get the HashMap for this app and add the new metadata  to it 
                      webModulesInStartingApps.get(appName).put(event.getMetaData().getJ2EEName(),(WebModuleMetaData)event.getMetaData());
                  }
                  else {
                      // First web module for this app, so initialize the set of WebModuleMetaDatas
                      // Store the WebModuleMetaData in webModulesInStartingApps
                      ConcurrentHashMap<J2EEName,WebModuleMetaData>moduleMetadatas = new ConcurrentHashMap<J2EEName,WebModuleMetaData>();
                      moduleMetadatas.put(event.getMetaData().getJ2EEName(),(WebModuleMetaData)event.getMetaData());
                      webModulesInStartingApps.put(appName, moduleMetadatas);
                  }
              }
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "WebModule metadata saved for " + event.getMetaData().getJ2EEName());
              }
          }        
      }
docs: /* (non-Javadoc)
  @see com.ibm.ws.container.service.metadata.ModuleMetaDataListener#moduleMetaDataCreated(com.ibm.ws.container.service.metadata.MetaDataEvent)
  This method listens for when WebModuleMetaData is first created. We use this as the indication that an application is "starting".
  Any WebModuleMetaData created here will be added to webModulesInStartingApps.