@Override public DRes<List<byte[]>> buildComputation(BuilderT builder) { return builder.par(par -> { List<DRes<List<byte[]>>> broadcastValues = new ArrayList<>(); for (byte[] singleInput : input) { broadcastValues.add(par.append(new InsecureBroadcastProtocol<>(singleInput))); } return () -> broadcastValues; }).seq((seq, lst) -> { List<byte[]> toValidate = lst.stream() .flatMap(broadcast -> broadcast.out().stream()) .collect(Collectors.toList()); seq.append(new BroadcastValidationProtocol<>(toValidate)); return () -> toValidate; }); }