code: public MealyMachine<?, String, ?, String> runExperiment1() {
          // For each membership query a new instance of BoundedStringQueue will
          // be created (normal learning scenario without filters)
          FullMembershipQueryOracle oracle = new FullMembershipQueryOracle();
  
          // construct L* instance (almost classic Mealy version)
          // almost: we use words (Word<String>) in cells of the table
          // instead of single outputs.
          MealyLearner<String, String> lstar;
          lstar = new ExtensibleLStarMealyBuilder<String, String>().withAlphabet(sigma)
                                                                   .withInitialSuffixes(initialSuffixes)
                                                                   .withOracle(oracle)
                                                                   .create();
  
          lstar.startLearning();
          MealyMachine<?, String, ?, String> result;
          result = lstar.getHypothesisModel();
  
          System.out.println("Resets:  " + oracle.resets);
          System.out.println("Symbols: " + oracle.symbols);
  
          return result;
      }
docs: /*
  A "normal" scenario without reuse filter technique.