private static List<List<Integer>> subSets(int n) {
        List<List<Integer>> list = new ArrayList<>();
        boolean[] a = new boolean[n];
        go(a, 0, list);
        return list;
    }
Why Did you create this class? what does it do?
src/codeforces/SubsetGenerator.java