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

    }
Why Did you create this class? what does it do?
src/problems/medium/AllPathFromSourceToTarget.java