}
protected void processGroup(SnapshotGroup group) throws Throwable {
// each snapshots of the group will be processed within their own transaction
SnapshotProcessor snapshotProcessor = new TransactionalSnapshotProcessor(getEntityManager(), getTaskServices());
snapshotProcessor.process(group.getRootSnapshot());
getEntityManager().getTransaction().begin();
try {
group.setProcessed(true);
Query query = getEntityManager().createQuery("SELECT g FROM SnapshotGroup g WHERE g.mavenProject = :project AND g.last=true AND g.processed=true");
query.setParameter("project", group.getMavenProject());