Could you include a comment describing the relationship between `Payment refund`(s) and `Payment paymentToRefund`. I think it would help when perusing this section of code, since both are of the same type, namely `Payment`, and yet have different meanings. It would seem that all refunds point back to the original payment. But, it can get a little confusing when reading a line like 'PaymentEntity paymentToRefund = paymentService.getPaymentById(refund.getRefundedPaymentId());`.