public MappedUser createUser(final String username, final String salt, final String password) {
        final String query = Conca.t(
            "insert into user ",
            "(username, active, salt, password) ",
            "VALUES ",
            "(?, ?, ?, ?)"
        );
        
        final List<Object> values = new ArrayList<Object>();
        final List<Class<?>> types = new ArrayList<Class<?>>();

        values.add(StringUtils.lowerCase(username));
        types.add(String.class);
        
        values.add(1);
        types.add(Integer.class);
        
        values.add(salt);
        types.add(String.class);
        
        values.add(password);
        types.add(String.class);
        
        MappedUser user = new MappedUser();
        try {
            int rows = executeUpdate(query, values, types);
            if (rows == 1) {
                user = findMappedUser(username);
            }
        } catch (Exception e) {
            log4jLogger.error(Conca.t("error occurred while attempting to create user for username [", username, "]"), e);
        }
        
        return user;
    }