{
AbstractMapMetaData map = new AbstractMapMetaData();
if (properties != null)
{
for (PropertyMetaData property : properties)
map.put(new AbstractValueMetaData(property.getName()), new AbstractValueMetaData(property));
}
return new AbstractPropertyMetaData(name, map);
}