Property implements BiConsumer<Object, T>, Function<Object, Optional<T>> { public boolean requiresDataContext() { return requiresDataContext; } Property(
      @NotNull final Optional<Function<Object, T>> getter,
      @NotNull final Optional<BiConsumer<Object, T>> setter,
      @NotNull final boolean requiresDataContext); boolean requiresDataContext(); @Override void accept(final Object s, final T t); @Override Optional<T> apply(final Object s);  }
@Parameters({ "true", "false" }) @Test public void requiresDataContext(boolean input) { final Property<String> targetOne = new Property<>(Optional.empty(), Optional.empty(), input); Assert.assertEquals(input, targetOne.requiresDataContext()); }