protected final Git getGitOrThrow() { return git.getOrThrow(); }
@Experimental static <E, T> Val<T> collapse( ObservableList<? extends E> list, Function<? super List<E>, ? extends T> f) { return Val.create(() -> f.apply(Collections.unmodifiableList(list)), list); }
@Experimental static <E, T> Val<T> collapseDynamic( ObservableList<? extends E> list, ObservableValue<? extends Function<? super List<E>, ? extends T>> f) { return Val.create(() -> f.getValue().apply(Collections.unmodifiableList(list)), list, f); }
static Val<Integer> sizeOf(ObservableList<?> list) { return Val.create(() -> list.size(), list); }