docs: private BeanDeploymentArchive createNewBdaAndMakeWiring(Class<?> beanClass) {
          try {
              OnDemandArchive onDemandArchive = new OnDemandArchive(cdiRuntime, application, beanClass);
              WebSphereBeanDeploymentArchive newBda = BDAFactory.createBDA(this, onDemandArchive, cdiRuntime);
  
              ClassLoader beanClassCL = onDemandArchive.getClassLoader();
  
              // need to make this bda to be accessible to other bdas according to classloader hierarchy
              for (WebSphereBeanDeploymentArchive wbda : getWebSphereBeanDeploymentArchives()) {
  
                  ClassLoader thisBDACL = wbda.getClassLoader();
                  //If the current archive is an extension bda, let's add this newly created bda accessible to it
                  if (wbda.getType() == ArchiveType.RUNTIME_EXTENSION) {
                      newBda.addBeanDeploymentArchive(wbda);
                  } else {
  
                      //let's check to see whether the wbda needs to be accessible to this new bda
                      //The current bda should be accessible to the newly created bda if the newly created bda's classloader
                      // is the same or the child classloader of the current bda
                      makeWiring(newBda, wbda, thisBDACL, beanClassCL);
                  }
  
                  if ((wbda.getType() == ArchiveType.RUNTIME_EXTENSION) && wbda.extensionCanSeeApplicationBDAs()) {
                      wbda.addBeanDeploymentArchive(newBda);
                  } else {
  
                      //Let's check whether the wbda's classloader is the descendant classloader of the new bda
                      makeWiring(wbda, newBda, beanClassCL, thisBDACL);
  
                  }
  
              }
              //Add this new bda to the deployment graph
              addBeanDeploymentArchive(newBda);
              return newBda;
          } catch (CDIException e) {
              throw new IllegalStateException(e);
          }
      }