private static void go(boolean[] a, int i, List<List<Integer>> list) {
        if (i > a.length)
            return;

        if (i == a.length) {
            List<Integer> ll = new ArrayList<>();
            for (int j = 0; j < a.length; j++) {
                if (a[j])
                    ll.add(j + 1);
            }
            list.add(ll);
            return;
        }

        a[i] = true;
        go(a, i + 1, list);
        a[i] = false;
        go(a, i + 1, list);
    }
Why Did you create this class? what does it do?
src/codeforces/SubsetGenerator.java