storeProperty(propertyDescriptor.getName(), property);
}
if (property instanceof List) {
List<IComponent> propertyAsList = (List<IComponent>) property;
for (int i = 0; i < propertyAsList.size(); i++) {
IComponent referent = propertyAsList.get(i);
IComponent decorated = decorateReferent(referent, propertyDescriptor
.getReferencedDescriptor().getElementDescriptor()
.getComponentDescriptor());
if (decorated != referent) {
propertyAsList.set(i, decorated);
}
}
} else if (property instanceof Set) {
Set<IComponent> propertyAsSet = (Set<IComponent>) property;
for (IComponent referent : new HashSet<IComponent>(propertyAsSet)) {
IComponent decorated = decorateReferent(referent, propertyDescriptor
.getReferencedDescriptor().getElementDescriptor()
.getComponentDescriptor());
if (decorated != referent) {
propertyAsSet.add(decorated);
}