Collection Datasource called twice

Hi,

I have a Transaction Edit view that includes Payment and Invoice.

public class TransactionEdit extends AbstractEditor<Transaction> {
 @Override
    public void init(Map<String, Object> params) {
 paymentDs.addCollectionChangeListener(ep -> {
//code
System.out.println("payment test");
 });
 invoiceDs.addCollectionChangeListener(ei -> {
//code
System.out.println("invoice test");
 });
}
}

I don’t understand why (when I open Transaction editor - Edit button) in output I have this:
payment test
invoice test
payment test.

Why paymentDs.addCollectionChangeListener is called twice?
Is this normal behavior?

The only difference is that Invoice is many to one(composition) with Transaction and Payment is many to many (association) with Transaction .

eo.getOperation() returns REFRESH on all.

Correction:
the output is:
invoice test
payment test
invoice test
payment test