<awangdev>78. Subsets_1.java
private void dfs(List<List<Integer>> result, List<Integer> list, int[] nums, int depth) {

        if (depth >= nums.length) { 
            result.add(new ArrayList<>(list));
            return;
        }
        list.add(nums[depth]);
        dfs(result, list, nums, depth + 1);

        list.remove(list.size() - 1);
        dfs(result, list, nums, depth + 1);
    }
private void sample_funcname ( List < List < Integer >> result , List < Integer > list , int [ ] nums , int depth ) {
  if ( depth >= nums . length ) {
    result . add ( new ArrayList < > ( list ) ) ;
    return ;
  }
  list . add ( nums [ depth ] ) ;
  dfs ( result , list , nums , depth + 1 ) ;
  list . remove ( list . size ( ) - 1 ) ;
  dfs ( result , list , nums , depth + 1 ) ;
}
