I like this idea, so the PersistenceMetaData.getPersistenceUnits() will be changed to return a collection of PersistenceUnits via a managed class approach that tracks additions (allowing the PersistenceUnit back reference to PersistenceMetaData to be set).