In realtà, vedo un posto...
finally {
if (removeGroup) {
this.remove(group);
}
lock.unlock();
}
...se l'archivio messaggi genera un'eccezione durante la rimozione, salteremo lo sblocco - vedi qualcosa nel registro?