// registration properties
final List<RegistrationPropertyMapping> properties = getRegistrationProperties();
final Map<QName, RegistrationProperty> propertyMap = new HashMap<QName, RegistrationProperty>(properties.size());
for (RegistrationPropertyMapping rpm : properties)
{
final RegistrationProperty property = rpm.toModel(null, initial);
propertyMap.put(property.getName(), property);
// set RegistrationInfo as listener of property changes
property.setListener(initial);
}
initial.setRegistrationProperties(propertyMap);
return initial;
}