code: public static void validate(PropertyKey key, Object value)
              throws IllegalArgumentException
      {
          validate(key.getAnnotations(), value);
      }
docs: This method ensures that any control property value assignment satisfies
  all property constraints. This method should be called by control
  property setters to ensure values assigned to properties at runtime are
  validated.
  
  @param key
  The property that the specified key is assigned to
  @param value
  The value assigned to the specified property key
  @throws IllegalArgumentException
  when the value assigned to the specified property key does
  not satisfy a property constraint.