docs: private static void doDumpOpenJPAPCRegistry(final Class pcRegClass, final PrintWriter out) {
          out.println();
          out.println("################################################################################");
          out.println("OpenJPA PCRegistry Dump");
          out.println("################################################################################");
  
          // Access the PCRegistry._metas Map<Class<?>,Meta> static field
          try {
              final Field _metas = pcRegClass.getDeclaredField("_metas");
              final boolean accessible = _metas.isAccessible();
              Object _metasObjVal = null; // Type is Map<Class<?>,Meta>
              try {
                  _metas.setAccessible(true);
                  _metasObjVal = _metas.get(null);
              } finally {
                  _metas.setAccessible(accessible);
              }
  
              if (_metasObjVal == null) {
                  return;
              }
  
              final Map<?, ?> _metasMap = (Map<?, ?>) _metasObjVal;
              for (Map.Entry<?, ?> entry : _metasMap.entrySet()) {
                  final Class cls = (Class) entry.getKey();
                  final Object metaObj = entry.getValue();
  
                  out.println();
                  out.println("Class " + cls.getName() + " " + getObjectAddress(cls));
                  out.println("  ClassLoader: " + poa(cls.getClassLoader()));
                  out.println("  CodeSource: " + poa(cls.getProtectionDomain().getCodeSource()));
  
                  if (metaObj == null) {
                      continue;
                  }
  
                  try {
                      final Class metaObjClass = metaObj.getClass();
                      final String alias = (String) reflectObjValue(metaObj, "alias");
                      final Object pc = reflectObjValue(metaObj, "pc"); // PersistenceCapable type
                      final Class pcSuper = (Class) reflectObjValue(metaObj, "pcSuper");
                      final String pcTxt = getInstanceClassAndAddress(pc); // Calling a PC's toString() can be dangerous.  Don't do it.
  
                      out.println("  Meta alias: " + alias); // metaObjClass.getDeclaredField("alias").get(metaObj)); // String
                      out.println("  Meta pc: " + poa(pcTxt)); // metaObjClass.getDeclaredField("pc").get(metaObj)); // PersistenceCapable
                      out.println("  Meta pcSuper: " + poa(pcSuper)); // metaObjClass.getDeclaredField("pcSuper").get(metaObj));
  
                      out.print("  Meta fieldNames: ");
                      final Object[] fieldNames = (Object[]) reflectObjValue(metaObj, "fieldNames"); // metaObjClass.getDeclaredField("fieldNames").get(metaObj); // String[]
                      for (Object o : fieldNames) {
                          out.print(poa(o));
                          out.print(" ");
                      }
                      out.println();
  
                      out.print("  Meta fieldTypes: ");
                      final Object[] fieldTypes = (Object[]) reflectObjValue(metaObj, "fieldTypes"); // (Object[]) metaObjClass.getDeclaredField("fieldTypes").get(metaObj); // Class<?>[]
                      for (Object o : fieldTypes) {
                          out.print(poa(o));
                          out.print(" ");
                      }
                      out.println();
                  } catch (Throwable t) {
                      FFDCFilter.processException(t, FFDCCN + ".doDumpOpenJPAPCRegistry", "708");
                  }
              }
          } catch (Throwable t) {
              FFDCFilter.processException(t, FFDCCN + ".doDumpOpenJPAPCRegistry", "713");
          }
      }