### Question:
Property { public Future<T> getValue() { return this.getValue(this.serializer); } Property(Class<T> valueClass, QiSerializer serializer);  Property(Class<T> valueClass);  Property(Class<T> valueClass, T value, QiSerializer serializer);  Property(T value, QiSerializer serializer);  Property(T value);  Property(Class<T> valueClass, T value); QiSerializer getSerializer(); Future<T> getValue(); Future<T> getValue(final QiSerializer qiSerializer); Future<Void> setValue(final T value); Future<Void> setValue(final QiSerializer qiSerializer, final T value);  }### Answer:
@Test public void anyObjectSetPropertyNull() { DynamicObjectBuilder builder = new DynamicObjectBuilder(); builder.advertiseProperty("myProperty", new Property<Integer>(42)); AnyObject object = builder.object(); Future<Void> future = object.setProperty("myProperty", null); try { future.getValue(); } catch (RuntimeException ex) { assertSame(QiException.class, ex.getCause().getClass()); return; } fail("object.setProperty should have returned a future in error."); }