public static List<List<String>> uniqueElementsList(List<List<String>> values,
        String defaultDirName) {
      // Get unique skewed value list.
      List<List<String>> result = uniqueSkewedValueList(values);

      // Add default dir at the end of each list
      for (List<String> list : result) {
        list.add(defaultDirName);
      }

      return result;
    }
Convert value to unique element list. This is specific for skew value use case:
For example:
1. skewed column (list): C1, C2, C3
2. skewed value (list of list): (1,a,x), (2,b,x), (1,c,x), (2,a,y)
Input: skewed value (list of list): (1,a,x), (2,b,x), (1,c,x), (2,a,y)
Output: Unique skewed elements for each skewed column (list of list):
(1,2,other), (a,b,c,other), (x,y,other)
Output matches order of skewed column. Output can be read as:
C1 has unique element list (1,2,other)
C2 has unique element list (a,b,c,other)
C3 has unique element list (x,y,other)
Other represents any value which is not part skewed-value combination.
@param values
         skewed value list
@return a list of unique element lists
ql/src/java/org/apache/hadoop/hive/ql/optimizer/listbucketingpruner/ListBucketingPruner.java