docs: private void processLibraryJarPersistenceXml(JPAApplInfo applInfo, Container libContainer,
                                                   String archiveName, String rootPrefix,
                                                   JPAPuScope scope, ClassLoader classLaoder) {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isEntryEnabled())
              Tr.entry(tc, "processLibraryJarPersistenceXml : " + applInfo.getApplName() +
                           ", " + (libContainer != null ? libContainer.getName() : "null") +
                           ", " + archiveName + ", " + rootPrefix + ", " + scope);
  
          if (libContainer != null) {
              String puArchiveName = archiveName;
              for (Entry entry : libContainer) {
                  if (isTraceOn && tc.isDebugEnabled()) {
                      Tr.debug(tc, "processing : " + entry.getName());
                  }
                  if (entry.getName().endsWith(".jar")) {
                      try {
                          Container jarContainer = entry.adapt(Container.class);
                          Entry pxml = jarContainer.getEntry(PERSISTENCE_XML_RESOURCE_NAME);
                          if (pxml != null) {
                              String appName = applInfo.getApplName();
                              if (rootPrefix != null) {
                                  puArchiveName = rootPrefix + entry.getName();
                              }
                              URL puRoot = getPXmlRootURL(appName, archiveName, pxml);
                              applInfo.addPersistenceUnits(new OSGiJPAPXml(applInfo, puArchiveName, scope, puRoot, classLaoder, pxml));
                          }
                      } catch (UnableToAdaptException ex) {
                          // Not really a jar archive, just a poorly named file
                          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                              Tr.debug(tc, "processLibraryJarPersistenceXml: ignoring " + entry.getName(), ex);
                      }
                  }
              }
          }
  
          if (isTraceOn && tc.isEntryEnabled())
              Tr.exit(tc, "processLibraryJarPersistenceXml : " + applInfo.getApplName() + ", " + rootPrefix);
      }