comefrom: <awangdev>Subsets II_3.java
code: public void dfs(List<List<Integer>> rst, ArrayList<Integer> list, int index, int[] nums) {
          rst.add(new ArrayList<Integer>(list));
          
          for (int i = index; i < nums.length; i++) {
              if (i != index && nums[i] == nums[i - 1]) {
                  continue;
              }
              list.add(nums[i]);
              dfs(rst, list, i + 1, nums);
              list.remove(list.size() - 1);
              
          }
      }
masked: public void sample_funcname ( List < List < Integer >> rst , ArrayList < Integer > list , int index , int [ ] nums ) {
    rst . add ( new ArrayList < Integer > ( list ) ) ;
    for ( int i = index ;
    i < nums . length ;
    i ++ ) {
      if ( i != index && nums [ i ] == nums [ i - 1 ] ) {
        continue ;
      }
      list . add ( nums [ i ] ) ;
      dfs ( rst , list , i + 1 , nums ) ;
      list . remove ( list . size ( ) - 1 ) ;
    }
  }
  