code: public static <S, I, T, O> StateLocalInputMealyMachine<S, I, ?, OutputAndLocalInputs<I, O>> partialToObservableOutput(
              StateLocalInputMealyMachine<S, I, T, O> reference,
              S sink) {
          return new SLIWrapper<>(reference, sink);
      }
docs: Transforms a (potentially partial) {@link StateLocalInputMealyMachine} to a complete {@link
  StateLocalInputMealyMachine} that explicitly outputs the available input symbols on the transition outputs. This
  this primarily useful if one can only use the {@link net.automatalib.automata.transducers.MealyMachine}
  interpretation of the result.
  <p>
  The returned automaton is a wrapper of the original reference automaton. As such, changes to the reference will
  also be reflected in the returned automaton.
  
  @param reference
  the (partial) mealy to transform
  @param sink
  the sink state that should be used to collect all undefined transitions of the reference automaton.
  @param <S>
  state type
  @param <I>
  input symbol type
  @param <T>
  transition type
  @param <O>
  output symbol type (of the reference)
  
  @return A fully defined automaton (even for inputs where the reference automaton would return {@code null}) which
  transforms the information of the available input symbols to transition outputs.