docs: public Set<Explanation<OWLAxiom>> getExplanations(OWLAxiom entailment, int limit) throws ExplanationException {
          final Set<OWLEntity> signature = new HashSet<OWLEntity>();
          for(OWLAxiom ax : inputAxioms) {
              signature.addAll(ax.getSignature());
          }
          final OWLDataFactory dataFactory = new OWLDataFactoryImpl();
          AxiomTransformation transformation = new DeltaPlusTransformation(dataFactory);
          OWLOntologyManager man = OWLManager.createOWLOntologyManager();
          SyntacticLocalityModuleExtractor extractor = new SyntacticLocalityModuleExtractor(man, (OWLOntology) null, inputAxioms, ModuleType.STAR);
          Set<OWLAxiom> moduleAxioms = extractor.extract(entailment.getSignature());
  //
  //        ExplanationGenerator<OWLAxiom> regGen = delegateFactory.createExplanationGenerator(inputAxioms, new NullExplanationProgressMonitor<OWLAxiom>());
  //        Set<Explanation<OWLAxiom>> regexpls = regGen.getExplanations(entailment);
  //        System.out.println(".........................................................");
  
          Set<OWLAxiom> flattenedAxioms = transformation.transform(moduleAxioms);
          ExplanationGenerator<OWLAxiom> gen = delegateFactory.createExplanationGenerator(flattenedAxioms);
          Set<Explanation<OWLAxiom>> expls = gen.getExplanations(entailment);
  //        System.out.println("Found " + expls.size() + " regular expls");
  //        for(Explanation<OWLAxiom> expl : expls) {
  //            System.out.println(expl);
  //        }
  //        if(expls.isEmpty()) {
  //        {
  //            System.out.println("Not found any delta plus justifications!");
  //            for(OWLAxiom ax : flattenedAxioms) {
  //                System.out.println(ax);
  //            }
  //            System.out.println("........................................................");
  //            DeltaTransformationUnfolder unfolder = new DeltaTransformationUnfolder(dataFactory);
  //            Set<OWLAxiom> unfoldedAxioms = unfolder.getUnfolded(flattenedAxioms, signature);
  //            for(OWLAxiom ax : unfoldedAxioms) {
  //                System.out.println(ax);
  //            }
  //        }
  
          IsLaconicChecker checker = new IsLaconicChecker(dataFactory, entailmentCheckerFactory, LaconicCheckerMode.EARLY_TERMINATING);
          Set<Explanation<OWLAxiom>> laconicExplanations = new HashSet<Explanation<OWLAxiom>>();
          Set<Explanation<OWLAxiom>> nonLaconicExplanations = new HashSet<Explanation<OWLAxiom>>();
          for(Explanation<OWLAxiom> expl : expls) {
              DeltaTransformationUnfolder unfolder = new DeltaTransformationUnfolder(dataFactory);
              Set<OWLAxiom> unfoldedAxioms = unfolder.getUnfolded(expl.getAxioms(), signature);
              Explanation<OWLAxiom> unfoldedExpl = new Explanation<OWLAxiom>(entailment, unfoldedAxioms);
              if(checker.isLaconic(unfoldedExpl)) {
                  boolean added = laconicExplanations.add(unfoldedExpl);
                  if (added) {
                      progressMonitor.foundExplanation(this, unfoldedExpl, new HashSet<Explanation<OWLAxiom>>(laconicExplanations));
                  }
              }
              else {
                  nonLaconicExplanations.add(unfoldedExpl);
              }
          }
          if(laconicExplanations.isEmpty()) {
              System.out.println("NOT-FOUND-ANY!");
              for(Explanation<OWLAxiom> nonLaconic : nonLaconicExplanations) {
                  System.out.println("NON-LACONIC:");
                  System.out.println(nonLaconic);
              }
          }
          return laconicExplanations;
  
      }