docs: @FFDCIgnore(Exception.class)
      private void logProviderInfo(String providerName, ClassLoader loader) {
          try {
              if (PROVIDER_ECLIPSELINK.equals(providerName)) {
                  // org.eclipse.persistence.Version.getVersion(): 2.6.4.v20160829-44060b6
                  Class<?> Version = loadClass(loader, "org.eclipse.persistence.Version");
                  String version = (String) Version.getMethod("getVersionString").invoke(Version.newInstance());
                  Tr.info(tc, "JPA_THIRD_PARTY_PROV_INFO_CWWJP0053I", "EclipseLink", version);
              } else if (PROVIDER_HIBERNATE.equals(providerName)) {
                  // org.hibernate.Version.getVersionString(): 5.2.6.Final
                  Class<?> Version = loadClass(loader, "org.hibernate.Version");
                  String version = (String) Version.getMethod("getVersionString").invoke(null);
                  Tr.info(tc, "JPA_THIRD_PARTY_PROV_INFO_CWWJP0053I", "Hibernate", version);
              } else if (PROVIDER_OPENJPA.equals(providerName)) {
                  // OpenJPAVersion.appendOpenJPABanner(sb): OpenJPA #.#.#\n version id: openjpa-#.#.#-r# \n Apache svn revision: #
                  StringBuilder version = new StringBuilder();
                  Class<?> OpenJPAVersion = loadClass(loader, "org.apache.openjpa.conf.OpenJPAVersion");
                  OpenJPAVersion.getMethod("appendOpenJPABanner", StringBuilder.class).invoke(OpenJPAVersion.newInstance(), version);
                  Tr.info(tc, "JPA_THIRD_PARTY_PROV_INFO_CWWJP0053I", "OpenJPA", version);
              } else {
                  Tr.info(tc, "JPA_THIRD_PARTY_PROV_NAME_CWWJP0052I", providerName);
              }
          } catch (Exception x) {
              Tr.info(tc, "JPA_THIRD_PARTY_PROV_NAME_CWWJP0052I", providerName);
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(this, tc, "unable to determine provider info", x);
          }
      }