question: public static < S , K , V , M extends Map < K , V > > Collector < S , ? , M > toMap ( Function < ? super S , ? extends K > keyMapper , Function < ? super S , ? extends V > valueMapper , Supplier < M > mapSupplier ) { return Collectors . toMap ( keyMapper , valueMapper , StreamUtils . throwingMerger ( ) , mapSupplier ) ; }
target:  Return a collector that creates a LinkedHashMap using the given key and value functions. This collector assumes the elements being collected are distinct.