List<T> cartesianProductList()