In ModelAwareDataHolder, the getDataNames method retrieve all data that are in the repository, even the ones that are not part of the model. So when looping on getDataNames to get the values, we obtain an UndefinedItemPathException.
=> The method getDataNames should retrieve only data that are part of the model.
The API documentation should explicit this diference between ModelAware and ModelLess data holders