code: public void makeCrossBoundaryWiring() throws CDIException {
          Collection<WebSphereBeanDeploymentArchive> sharedLibs = bdasByType.get(ArchiveType.SHARED_LIB);
          Collection<WebSphereBeanDeploymentArchive> earLibs = bdasByType.get(ArchiveType.EAR_LIB);
          Collection<WebSphereBeanDeploymentArchive> rarModules = bdasByType.get(ArchiveType.RAR_MODULE);
          Collection<WebSphereBeanDeploymentArchive> ejbModules = bdasByType.get(ArchiveType.EJB_MODULE);
          Collection<WebSphereBeanDeploymentArchive> warModules = bdasByType.get(ArchiveType.WEB_MODULE);
          Collection<WebSphereBeanDeploymentArchive> clientModules = bdasByType.get(ArchiveType.CLIENT_MODULE);
          Collection<WebSphereBeanDeploymentArchive> allAccessibleBdas = new HashSet<WebSphereBeanDeploymentArchive>();
          allAccessibleBdas.addAll(sharedLibs);
          allAccessibleBdas.addAll(earLibs);
          allAccessibleBdas.addAll(ejbModules);
          allAccessibleBdas.addAll(rarModules);
  
          wireBdas(earLibs, allAccessibleBdas);
          wireBdas(rarModules, allAccessibleBdas);
          wireBdas(ejbModules, allAccessibleBdas);
          wireBdas(warModules, allAccessibleBdas);
          wireBdas(clientModules, allAccessibleBdas);
          wireBdasBasedOnClassLoader(earLibs, warModules);
      }
docs: The method should be called last to wire all libraries and modules