There's a tricky problem here. Until persistenceResource.commit() is called later on in this method, the updated model is not visible to other threads. So, the notification will be describing state that is invisible to the recipient.

Scenario: JMX integration converts a resource added notification into an mbean registration notification. JMX listener for that notification turns around and tries to read the mbean. Fails, because the mbean is not visible.

Note that the delay involved can be quite significant, because in a slave host or server process in a managed domain the code between ^^^ and persistenceResource.commit() involves sending messages around the domain telling the coordinating process that all is well and then waiting for the coordinator's decision on whether to commit or rollback.