public final <PD> void setPropertyValues(PropertyDefinition<PD> pd,
Collection<PD> values) throws IllegalPropertyValueException,
PropertyIsSingleValuedException, PropertyIsReadOnlyException,
PropertyIsMandatoryException, IllegalArgumentException {
if (pd.hasOption(PropertyOption.MONITORING)) {
throw new PropertyIsReadOnlyException(pd);
}
if (existsOnServer && pd.hasOption(PropertyOption.READ_ONLY)) {
throw new PropertyIsReadOnlyException(pd);
}
properties.setPropertyValues(pd, values);
// If this is a naming property then update the name.