Hi, Please review the webrev at http://cr.openjdk.java.net/~henryjen/ccc/8015318.0/webrev/
This webrev refactor java.util.Collector interface to allow an intermediate type used for accumulation and then produce final result type with a 'finished' function. Collectors are updated to reflect the changes, and quite a few API changes, toStringJoiner -> joining Return type becoming Optional<T> when appropriate sumBy -> a set of summing[Int,Long,Double] average[Int,Long,Double] I'll put specdiff up later for those interested in API changes. Cheers, Henry