@@ -0,0 +1,609 @@
+package chapter_6;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0Aimport java.util.Stack;%0A%0Apublic class PowerSet %7B%0A  public List%3CList%3CString%3E%3E subsets(String%5B%5D set) %7B%0A    List%3CList%3CString%3E%3E subsets = new ArrayList%3CList%3CString%3E%3E();%0A    subsets(set, 0, new Stack%3CString%3E(), subsets);%0A    return subsets;%0A  %7D%0A%0A  private void subsets(String%5B%5D set, int index, Stack%3CString%3E result, List%3CList%3CString%3E%3E subsets) %7B%0A    subsets.add((List%3CString%3E) result.clone());%0A    for (int i = index; i %3C set.length; i++) %7B%0A      result.add(set%5Bi%5D);%0A      subsets(set, i + 1, result, subsets);%0A      result.pop();%0A    %7D%0A  %7D%0A%7D%0A

Add Brute Force solution for PowerSet