code: public DFALearner<I> asDFALearner() {
          return new DFALearner<I>() {
  
              @Override
              public String toString() {
                  return NLStarLearner.this.toString();
              }
  
              @Override
              public void startLearning() {
                  NLStarLearner.this.startLearning();
              }
  
              @Override
              public boolean refineHypothesis(DefaultQuery<I, Boolean> ceQuery) {
                  return NLStarLearner.this.refineHypothesis(ceQuery);
              }
  
              @Override
              public CompactDFA<I> getHypothesisModel() {
                  return NLStarLearner.this.getDeterminizedHypothesis();
              }
  
          };
      }
docs: Retrieves a view of this learner as a DFA learner. The DFA is obtained by determinizing and minimizing the NFA
  hypothesis.
  
  @return a DFA learner view of this learner
  
  @see #getDeterminizedHypothesis()