public void rollback() { m_log.log(LogService.LOG_DEBUG, "rollback"); Map<String, List<AutoConfResource>> toBeInstalled; synchronized (m_lock) { toBeInstalled = new HashMap<String, List<AutoConfResource>>(m_toBeInstalled); } for (Map.Entry<String, List<AutoConfResource>> entry : toBeInstalled.entrySet()) { for (AutoConfResource resource : entry.getValue()) { String name = resource.getName(); try { dropped(name); } catch (ResourceProcessorException e) { m_log.log(LogService.LOG_ERROR, "Unable to roll back resource '" + name + "', reason: " + e.getMessage() + ", caused by: " + e.getCause().getMessage()); } break; } } endSession(); m_log.log(LogService.LOG_DEBUG, "rollback done"); }