}
public void swapLicenses(Long licID1, Long licID2) throws ServiceException {
LicenseDao ldao = DaoFactory.getLicenseDao();
try {
License l1 = (License)ldao.find(licID1);
License l2 = (License)ldao.find(licID2);
if (l1!=null && l2!=null) {
if (!(l1.getOwner()==null && l2.getOwner()==null) && !(l1.getOwner()!=null && l2.getOwner()!=null)) {
License licToAffect = (l1.getOwner()==null)?l1:l2;
License licToFree = (l1.getOwner()==null)?l2:l1;
licToAffect.setInvitedMail(null);
UserImpl u = (UserImpl)licToFree.getOwner();
LOGGER.info("swapping license used by user:" + u.getLogin() + " from " + licToFree.getId() + " to " + licToAffect.getId());
u.setLicenseUsed(licToAffect);
ServiceFactory.getUserService().update(u);
} else {
throw new ServiceException(RessourceBundleApplicationMessage.warning("woj.page.admin.user.license.error.swap.failed.bad.owners", null));
}