public static List<List<String>> generateCollection(List<List<String>> values)
        throws SemanticException {
      // Calculate unique skewed elements for each skewed column.
      List<List<String>> uniqSkewedElements = DynamicMultiDimensionalCollection.uniqueElementsList(
          values, ListBucketingPrunerUtils.HIVE_LIST_BUCKETING_DEFAULT_KEY);
      // Calculate complete dynamic-multi-dimension collection.
      return DynamicMultiDimensionalCollection.flat(uniqSkewedElements);
    }
Find out complete skewed-element collection
For example:
1. skewed column (list): C1, C2
2. skewed value (list of list): (1,a), (2,b), (1,c)
It returns the complete collection
(1,a) , (1,b) , (1,c) , (1,other), (2,a), (2,b) , (2,c), (2,other), (other,a), (other,b),
(other,c), (other,other)
@throws SemanticException
ql/src/java/org/apache/hadoop/hive/ql/optimizer/listbucketingpruner/ListBucketingPruner.java