https://learnprogramming.in.net/java-program-to-generate-all-combinations-of-a-set/