public void sort(final int col, boolean reverse) {
        Collections.sort(m_rows, new Comparator<TableRow>() {
            public int compare(TableRow t1, TableRow t2) {
                switch (col) {
                    case 0:
                        return t1.m_user1.compareToIgnoreCase(t2.m_user1);
                    //todo: change this
                    case 1:
                        return t1.m_ladder.compareTo(t2.m_ladder);
                    case 2:
                        boolean r1 = t1.m_rated;
                        boolean r2 = t2.m_rated;
                        return r1 ? (r2 ? 0 : 1) : (r2 ? -1 : 0);
                    case 3:
                        return t1.m_n.compareTo(t2.m_n);
                    case 4:
                        return t1.m_pop.compareTo(t2.m_pop);
                }
                assert false;
                return 0;
            }
        });
        if (reverse) Collections.reverse(m_rows);
    }