/open Pair.java /open Streaming.java List intList1 = List.of( 1, 1, 1, 2, 2, 1, 1, 1, 1, 4, 3, 3 ) List intList2 = List.of( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ) List strList1 = List.of( "A", "A", "A", "B", "B", "A", "A", "A", "A", "R", "Z", "Z" ) List strList2 = List.of( "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A" ) List> pairLst1 = List.of( new Pair(3, 1), new Pair(2, 2), new Pair(4, 1), new Pair(1, 4), new Pair(2, 3) ) List> pairLst2 = List.of( new Pair(12, 1) ) List> pairLst3 = List.of( new Pair(3, "A"), new Pair(2, "B"), new Pair(4, "A"), new Pair(1, "R"), new Pair(2, "Z") ) List> pairLst4 = List.of( new Pair(12, "A") ) Streaming.decode(pairLst1.stream().parallel()) Streaming.decode(pairLst2.stream().parallel()) Streaming.decode(pairLst3.stream().parallel()) Streaming.decode(pairLst4.stream().parallel()) Streaming.decode(pairLst1.stream().parallel()).equals(intList1) Streaming.decode(pairLst2.stream().parallel()).equals(intList2) Streaming.decode(pairLst3.stream().parallel()).equals(strList1) Streaming.decode(pairLst4.stream().parallel()).equals(strList2) Streaming.decode(pairLst1.stream().parallel()).equals(intList2) Streaming.decode(pairLst2.stream().parallel()).equals(intList1) Streaming.decode(pairLst3.stream().parallel()).equals(strList2) Streaming.decode(pairLst4.stream().parallel()).equals(strList1)