Can you implement a class that returns the "next" permutation (in no particular order) of representatives chosen from a list of lists. Also implement a method that determines whether there are any new permutations to return. I.e., when given [ [1 2] [b] [3 4] ] the permutations are: [1 b 3], [1 b 4], [2 b 3], [2 b 4].