public static <T,V,W extends V> PropertyValue<T,V> with(Property<T,V> property, Donor<W> valueDonor) { return new PropertyValue<>(property, valueDonor); }
public static <T,V,W extends V> PropertyValue<T,V> with(Donor<W> valueDonor, Property<T,V> property) { return new PropertyValue<>(property, valueDonor); }
public static <T,V,W extends V> PropertyValue<T,V> with(Property<T,V> property, Donor<W> valueDonor) { return new PropertyValue<>(property, valueDonor); }
public static <T,V,W extends V> PropertyValue<T,V> with(Donor<W> valueDonor, Property<T,V> property) { return new PropertyValue<>(property, valueDonor); }
public static <T,V,W extends V> PropertyValue<T,V> with(Property<T,V> property, W value) { return new PropertyValue<>(property, new SameValueDonor<V>(value)); }
public static <T,V> PropertyValue<T,V> withNull(Property<T,V> property) { return new PropertyValue<>(property, new SameValueDonor<V>(null)); }
public static <T,V,W extends V> PropertyValue<T,V> with(W value, Property<T,V> property) { return new PropertyValue<>(property, new SameValueDonor<V>(value)); }
public static <T,V,W extends V> PropertyValue<T,V> with(Property<T,V> property, W value) { return new PropertyValue<>(property, new SameValueDonor<V>(value)); }
public static <T,V,W extends V> PropertyValue<T,V> with(W value, Property<T,V> property) { return new PropertyValue<>(property, new SameValueDonor<V>(value)); }
public static <T,V> PropertyValue<T,V> withNull(Property<T,V> property) { return new PropertyValue<>(property, new SameValueDonor<V>(null)); }