@ Nonnull @ ReturnsMutableCopy public ICommonsSet < ICommonsList < DATATYPE > > getCombinations ( @ Nonnull final ICommonsList < DATATYPE > aElements ) { ValueEnforcer . notNull ( aElements , "Elements" ) ; final ICommonsSet < ICommonsList < DATATYPE > > aAllResults = new CommonsHashSet <> ( ) ; iterateAllCombinations ( aElements , aAllResults :: add ) ; return aAllResults ; }
Generate all combinations without duplicates .