ensureOpened();
ensureInTransaction();
final PersistenceQueryProcessor<? extends PersistenceQuery> processor = persistenceQueryProcessorByClass.get(persistenceQuery.getClass());
if (processor == null) {
throw new UnsupportedFindException(MessageFormat.format("Unsupported criteria type: {0}", persistenceQuery.getClass().getName()));
}
return processPersistenceQuery(processor, persistenceQuery);
}