code: public static MutableFst compose(MutableFst fst1, MutableFst fst2, Semiring semiring) {
      return compose(fst1, fst2, semiring, false);
    }
docs: Computes the composition of two Fsts. The two Fsts are augmented in order to avoid multiple epsilon paths in the
  resulting Fst
  
  @param fst1     the first Fst
  @param fst2     the second Fst
  @param semiring the semiring to use in the operation
  @return the composed Fst