xxxxxxxxxx
The term downstream in the documentation refers to one Collector accepting a second Collector as an argument.
The argument is applied downstream (after) the Collector that accepts it.
In other words, the downstream Collector is applied to the result of the upstream Collector.
In your example, Collectors.toList is downstream from Collectors.mapping.