public LinkedList<User> getUsers(String username) throws SQLException {
        LinkedList<String> select = new LinkedList<String>();
        select.add("Username");
        select.add("Name");
        select.add("CreditCard");
        select.add("Address");
        select.add("Phone");
        select.add("IsManager");
        LinkedList<String> from = new LinkedList<String>();
        from.add("Users");
        LinkedList<Pair<String, String>> whereClauses = new LinkedList<Pair<String, String>>();
        if (!username.isEmpty()) {
            whereClauses.add(new Pair<String, String>("Username LIKE ?", '%' + username + '%'));
        }
        LinkedList<String> whereConjunctions = new LinkedList<String>();
        ResultSet resultSet = executeDynamicQuery(select, from, whereClauses, whereConjunctions, null, null, 0);

        LinkedList<User> result = new LinkedList<User>();
        while (resultSet.next()) {
            result.add(new User(resultSet.getString(1), resultSet.getString(2), resultSet.getString(3),
                    resultSet.getString(4), resultSet.getString(5), resultSet.getBoolean(6)));
        }

        return result;
    }