Не получается добавить параметр в объекты внутри стрима аргументов
Есть stream аргументов-объектов для передачи их в метод с помощью @MethodSource:
var streamData = Stream.of(
Arguments.of(Optional.of(MyObject.builder()
.PARAMETER_1("value1")
.PARAMETER_2("value2")
.PARAMETER_3("value3")
.build())),
Arguments.of(Optional.of(MyObject.builder()
.PARAMETER_1("value1")
.PARAMETER_2("value2")
.PARAMETER_3("value3")
.build())));
Подскажите пожалуйста, как правильно создать новый аналогичный стрим на основе вышеуказанного, где у объектов MyObject добавлен параметр: PARAMETER_4 = "value4" ?
Пробовал, но ругается на попытке приведения типов.
var newStreamData = streamData.map(Arguments::get)
.map((Object[] t) -> Arrays.stream(Optional.of(t).get()))
.flatMap((Object[] t) -> {
MyObject o = (MyObject) t;
o.setPARAMETER_4(value4);
return Arguments.of(Optional.of(o)));
}.collect(Collectors.toList());
Источник: Stack Overflow на русском