List<Supplier> uniqueSuppliers = supplierList.stream().collect( collectingAndThen( toCollection(() -> new TreeSet<>(comparing(Supplier::getSupplierId))), ArrayList::new) );
List<String> commodityIds = commodities.stream().map(Commodity::getCommodityId).collect(Collectors.toList());