private void importIdentity( boolean ownIdentity, String identityID, String requestURI, String insertURI, String nickname) { synchronized (mFreetalk.getTaskManager()) { synchronized (db.lock()) { try { Logger.normal(this, "Importing identity from WoT: " + requestURI); final WoTIdentity id = ownIdentity ? new WoTOwnIdentity( identityID, new FreenetURI(requestURI), new FreenetURI(insertURI), nickname) : new WoTIdentity(identityID, new FreenetURI(requestURI), nickname); id.initializeTransient(mFreetalk); id.storeWithoutCommit(); onNewIdentityAdded(id); if (ownIdentity) onNewOwnIdentityAdded((WoTOwnIdentity) id); id.checkedCommit(this); } catch (Exception e) { Persistent.checkedRollbackAndThrow(db, this, new RuntimeException(e)); } } } }