code: protected boolean refineHypothesisSingle(DefaultQuery<I, D> ceQuery) {
          TTTState<I, D> state = getAnyState(ceQuery.getPrefix());
          D out = computeHypothesisOutput(state, ceQuery.getSuffix());
  
          if (Objects.equals(out, ceQuery.getOutput())) {
              return false;
          }
  
          OutputInconsistency<I, D> outIncons =
                  new OutputInconsistency<>(state, ceQuery.getSuffix(), ceQuery.getOutput());
  
          do {
              splitState(outIncons);
              closeTransitions();
              while (finalizeAny()) {
                  closeTransitions();
              }
  
              outIncons = findOutputInconsistency();
          } while (outIncons != null);
          assert allNodesFinal();
  
          return true;
      }
docs: Performs a single refinement of the hypothesis, i.e., without repeated counterexample evaluation. The parameter
  and return value have the same significance as in {@link #refineHypothesis(DefaultQuery)}.
  
  @param ceQuery
  the counterexample (query) to be used for refinement
  
  @return {@code true} if the hypothesis was refined, {@code false} otherwise