code: public static <S, I, O> AbstractSULOmegaOracle<S, I, O, ?> newOracle(ObservableSUL<S, I, O> sul) {
          return newOracle(sul, !sul.canFork());
      }
docs: Creates a new {@link AbstractSULOmegaOracle} that assumes the {@link SUL} can not make deep copies.
  
  @see #newOracle(ObservableSUL, boolean)
  
  @param <S> the state type
  @param <I> the input type
  @param <O> the output type