private void populateFlexOfferDto( FlexOfferDto flexOfferDto, FlexRequestDto flexRequestDto, boolean populatePtus) { flexOfferDto.setPeriod(flexRequestDto.getPeriod()); flexOfferDto.setConnectionGroupEntityAddress(flexRequestDto.getConnectionGroupEntityAddress()); flexOfferDto.setParticipantDomain(flexRequestDto.getParticipantDomain()); if (populatePtus) { flexRequestDto .getPtus() .stream() .forEach( ptuFlexRequestDto -> { PtuFlexOfferDto ptuFlexOfferDto = new PtuFlexOfferDto(); ptuFlexOfferDto.setPtuIndex(ptuFlexRequestDto.getPtuIndex()); if (ptuFlexRequestDto.getDisposition() == DispositionTypeDto.AVAILABLE) { ptuFlexOfferDto.setPrice(BigDecimal.ZERO); ptuFlexOfferDto.setPower(BigInteger.ZERO); } else { max100PercentOfOriginalPower(ptuFlexRequestDto, ptuFlexOfferDto); } flexOfferDto.getPtus().add(ptuFlexOfferDto); }); } }