code: @Override
      public void stopModule(ExtendedModuleInfo moduleInfo) {
          ConnectorModuleMetaDataImpl metadataImpl = (ConnectorModuleMetaDataImpl) moduleInfo.getMetaData();
          String id = metadataImpl.getIdentifier();
  
          metaDataService.fireComponentMetaDataDestroyed(metadataImpl.getComponentMetaDatas()[0]);
          removeServiceListeners(id);
  
          // TEMP begin
          CountDownLatch bcLatch = BootstrapContextImpl.latches.get(id);
          // TEMP end
  
          ConnectorModuleMetatype cmmt = moduleMetatype.remove(id.toUpperCase());
          if (cmmt != null)
              try {
                  cmmt.removeMetatype();
              } catch (Throwable x) {
              }
  
          // TEMP begin
          for (boolean stopped = bcLatch == null || FrameworkState.isStopping(); !stopped;)
              try {
                  stopped = bcLatch.await(1, TimeUnit.SECONDS) || FrameworkState.isStopping();
              } catch (InterruptedException e) {
                  e.getCause();
              }
          // TEMP end
      }
docs: Removes all generated metatype for the resource adapter and returns once services provided by the resource adapter are deactivated
  
  @see com.ibm.ws.container.service.app.deploy.extended.ModuleRuntimeContainer#stopModule(com.ibm.ws.container.service.app.deploy.ModuleInfo)