/** Get and check the property definition. */
 private PropertyDefinition<?> getPropertyDefinition(
     ManagedObjectDefinition<?, ?> def, String propertyName) throws ArgumentException {
   try {
     return def.getPropertyDefinition(propertyName);
   } catch (IllegalArgumentException e) {
     throw ArgumentExceptionFactory.unknownProperty(def, propertyName);
   }
 }