code: public static <T> EventStream<ListModification<? extends T>> simpleChangesOf(ObservableList<T> list) {
          return new EventStreamBase<ListModification<? extends T>>() {
              @Override
              protected Subscription observeInputs() {
                  return LiveList.observeChanges(list, c ->  {
                      for(ListModification<? extends T> mod: c) {
                          emit(mod);
                      }
                  });
              }
          };
      }
docs: Use only when the subscriber does not cause {@code list} modification
  of the underlying list.