private AbstractNameQuery findPersistenceUnit(GerPersistenceUnitRefType gerPersistenceRef, Configuration localConfiguration) throws DeploymentException { AbstractNameQuery persistenceUnitNameQuery; if (gerPersistenceRef.isSetPersistenceUnitName()) { String persistenceUnitName = gerPersistenceRef.getPersistenceUnitName(); persistenceUnitNameQuery = new AbstractNameQuery(null, Collections.singletonMap("name", persistenceUnitName), PERSISTENCE_UNIT_INTERFACE_TYPES); } else { GerPatternType gbeanLocator = gerPersistenceRef.getPattern(); persistenceUnitNameQuery = buildAbstractNameQuery(gbeanLocator, null, null, PERSISTENCE_UNIT_INTERFACE_TYPES); } checkForGBean(localConfiguration, persistenceUnitNameQuery, false, false, new HashSet<AbstractName>()); return persistenceUnitNameQuery; }