return getUser(user.getUsername());
    public User saveUser(final User user) {        if (user.getId() == null) {            Long pk =                (Long) getSqlMapClientTemplate().queryForObject("getUserId",                                                                 null);            if (pk == null) {                pk = new Long(0);            }            user.setId(new Long(pk.longValue() + 1));            if (logger.isDebugEnabled()) {                logger.debug("user's id: " + user.getId());            }            getSqlMapClientTemplate().update("addUser", user);            addUserRoles(user);        } else {            getSqlMapClientTemplate().update("updateUser", user);            deleteUserRoles(user);            addUserRoles(user);        }        // Have to call getUser here b/c the user might still have duplicate        // roles.  The preventDups logic can't remove items b/c it'll throw        // a java.util.ConcurrentModificationException.  Cleaner solutions        // welcome. ;-)        return getUser(user.getUsername());    }