code: @Override
      public void applicationStopped(ApplicationInfo appInfo) {
          Application application = this.runtimeFactory.removeApplication(appInfo);
          /* ignore apps not controlled by the app manager */
          if (application == null) {
              return;
          }
          try {
              getCDIContainer().applicationStopped(application);
          } catch (CDIException e) {
              //FFDC and carry on
          } finally { 
              try {
                  for (CDIArchive archive : application.getModuleArchives()) {
                      DeferredMetaDataFactory metaDataFactory = deferredMetaDataFactoryRef.getService();
                      CDIDeferredMetaDataFactoryImpl cdiMetaDataFactory = (CDIDeferredMetaDataFactoryImpl) metaDataFactory;
                      cdiMetaDataFactory.removeComponentMetaData(archive);
                  }
              } catch (CDIException e) {
                  //FFDC and carry on
              }
          }
      }
docs: {@inheritDoc}
  
  @throws StateChangeException