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