docs: private void scanEntityMappings() throws PersistenceUnitScannerException {
          /*
           * From the JPA 2.1 Specification:
           *
           * 8.2.1.6.2 Object/relational Mapping Files
           * An object/relational mapping XML file contains mapping information for the classes listed in it.
           *
           * A object/relational mapping XML file named orm.xml may be specified in the META-INF directory
           * in the root of the persistence unit or in the META-INF directory of any jar file referenced by the persistence.
           * xml. Alternatively, or in addition, one or more mapping files may be referenced by the
           * mapping-file elements of the persistence-unit element. These mapping files may be
           * present anywhere on the class path.
           *
           * An orm.xml mapping file or other mapping file is loaded as a resource by the persistence provider. If
           * a mapping file is specified, the classes and mapping information specified in the mapping file will be
           * used as described in Chapter 12. If multiple mapping files are specified (possibly including one or more
           * orm.xml files), the resulting mappings are obtained by combining the mappings from all of the files.
           * The result is undefined if multiple mapping files (including any orm.xml file) referenced within a single
           * persistence unit contain overlapping mapping information for any given class. The object/relational
           * mapping information contained in any mapping file referenced within the persistence unit must be disjoint
           * at the class-level from object/relational mapping information contained in any other such mapping
           * file.
           */
          final HashSet<URL> mappingFilesLocated = new HashSet<URL>();
          final HashSet<String> searchNames = new HashSet<String>();
  
          for (PersistenceUnitInfo pui : puiList) {
              try {
                  mappingFilesLocated.clear();
                  searchNames.clear();
                  searchNames.add("META-INF/orm.xml");
  
                  if (pui.getMappingFileNames() != null) {
                      searchNames.addAll(pui.getMappingFileNames());
                  }
  
                  for (String mappingFile : searchNames) {
                      mappingFilesLocated.addAll(findORMResources(pui, mappingFile));
                  }
  
                  final List<EntityMappingsDefinition> parsedOrmList = pu_ormFileParsed_map.get(pui);
                  pu_ormFiles_map.get(pui).addAll(mappingFilesLocated);
  
                  // Process discovered mapping files
                  for (final URL mappingFileURL : mappingFilesLocated) {
                      if (scanned_ormfile_map.containsKey(mappingFileURL)) {
                          // Already processed this ORM File, no need to process it again.
                          parsedOrmList.add(scanned_ormfile_map.get(mappingFileURL));
                          continue;
                      }
  
                      EntityMappingsDefinition emapdef = EntityMappingsFactory.parseEntityMappings(mappingFileURL);
                      parsedOrmList.add(emapdef);
                      scanned_ormfile_map.put(mappingFileURL, emapdef);
                  }
              } catch (Exception e) {
                  FFDCFilter.processException(e, PersistenceUnitScanner.class.getName() + ".scanEntityMappings", "460");
                  throw new PersistenceUnitScannerException(e);
              }
          }
      }