Знаете ли вы некоторые аккуратные Java-библиотеки, которые позволяют вам делать декартовую продукцию из двух (или более) наборов?
Например: у меня есть три набора. Один с объектами класса Person, второй с объектами класса Gift и третий с объектами класса GiftExtension.
Я хочу сгенерировать один набор, содержащий все возможные тройки Person-Gift-GiftExtension.
Количество наборов может меняться, поэтому я не могу сделать это во вложенном цикле foreach. При некоторых условиях моей заявке необходимо сделать продукт Person-Gift, иногда это тройной Person-Gift-GiftExtension, иногда даже могут быть настройки Person-Gift-GiftExtension-GiftSecondExtension-GiftThirdExtension и т.д.