public void updateRole( final long id, final String roleStr ) throws IOException {
		if( id == 1 ) { 
			logger.warning("Can't update roles for admin");
			return;
		}
		
		final UserRole neuRole = UserRole.roleForString(roleStr);
		if( neuRole == null ) { 
			logger.warning("Unknown role.");
			return;
		}
		
		(new SQLStatementProcessor<Void>("UPDATE user_roles SET role_id = ? WHERE uid = ?") {
			public Void process( PreparedStatement s ) throws SQLException {
				s.setLong(1, neuRole.getID());
				s.setLong(2, id);
				s.executeUpdate();
				return null;
			}}).doit();
		
		/**
		 * Only once we've updated the DB!
		 */
		getAccountForID(id).setRoles(new String[]{neuRole.getTag()});
	}