try {
work.getWorkDelegate(getVisitor()).performWork(work, indexWriter, monitor);
transaction.commit();
} finally {
if (transaction.isActive())
transaction.rollback();
}
if (LOG.isLoggable(Level.INFO)) {
String entity = work.getEntityClass().toString();
LOG.info("Performed lucene work for " + entity + " in " + (System.currentTimeMillis() - time) + " ms");