code: public static <S1, I1, T1, SP, TP, S2, I2, T2> Mapping<S1, S2> copy(TSTraversalMethod method,
                                                                          UniversalTransitionSystem<S1, ? super I1, T1, ? extends SP, ? extends TP> in,
                                                                          int limit,
                                                                          Collection<? extends I1> inputs,
                                                                          MutableAutomaton<S2, I2, T2, ? super SP, ? super TP> out,
                                                                          Function<? super I1, ? extends I2> inputsMapping,
                                                                          Predicate<? super S1> stateFilter,
                                                                          TransitionPredicate<? super S1, ? super I1, ? super T1> transFilter) {
          return copy(method,
                      in,
                      limit,
                      inputs,
                      out,
                      inputsMapping,
                      Function.identity(),
                      Function.identity(),
                      stateFilter,
                      transFilter);
      }
docs: Copies a {@link UniversalAutomaton} with possibly heterogeneous input alphabets, but compatible properties.
  
  @param method
  the traversal method to use
  @param in
  the input transition system
  @param limit
  the traversal limit, a value less than 0 means no limit
  @param inputs
  the inputs to consider
  @param out
  the output automaton
  @param inputsMapping
  the transformation for input symbols
  @param stateFilter
  the filter predicate for states
  @param transFilter
  the filter predicate for transitions
  
  @return a mapping from old to new states