docs: public Set<Explanation<OWLAxiom>> getExplanations(OWLAxiom entailment, int limit) throws ExplanationException {
          OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
          SyntacticLocalityModuleExtractor extractor = new SyntacticLocalityModuleExtractor(manager, (OWLOntology) null, workingAxioms, ModuleType.STAR);
          module = extractor.extract(entailment.getSignature());
          BlackBoxExplanationGenerator2<OWLAxiom> gen = new BlackBoxExplanationGenerator2<OWLAxiom>(module, entailmentCheckerFactory, new StructuralTypePriorityExpansionStrategy(), new DivideAndConquerContractionStrategy(), new NullExplanationProgressMonitor<OWLAxiom>());
          Set<Explanation<OWLAxiom>> expls = gen.getExplanations(entailment, 1);
          Explanation<OWLAxiom> expl = expls.iterator().next();
          Set<OWLAxiom> commonAxioms = new HashSet<OWLAxiom>();
          for(OWLAxiom ax : expl.getAxioms()) {
              module.remove(ax);
              EntailmentChecker<OWLAxiom> entailmentChecker = entailmentCheckerFactory.createEntailementChecker(entailment);
              if(!entailmentChecker.isEntailed(module)) {
                  commonAxioms.add(ax);
              }
              module.add(ax);
          }
          System.out.println("There are " + commonAxioms.size() + " common axioms");
          Set<OWLEntity> commonAxiomsSig = new HashSet<OWLEntity>();
          for(OWLAxiom ax : commonAxioms) {
              System.out.println("\t" + ax);
              commonAxiomsSig.addAll(ax.getSignature());
          }
  
          Set<OWLAxiom> expansionCandidates = new HashSet<OWLAxiom>();
          Set<OWLAxiom> directExpansionCandidates = new HashSet<OWLAxiom>();
          for(OWLAxiom ax : module) {
              if (!commonAxioms.contains(ax)) {
                  for(OWLEntity ent : ax.getSignature()) {
                      if(commonAxiomsSig.contains(ent)) {
                          expansionCandidates.add(ax);
                          for(OWLEntity entailmentEnt : entailment.getSignature()) {
                              if(ax.getSignature().contains(entailmentEnt)) {
                                  directExpansionCandidates.add(ax);
                              }
                          }
                      }
                  }
              }
          }
          System.out.println("There are " + directExpansionCandidates.size() + " direct expansion candidates");
          for(OWLAxiom ax : new TreeSet<OWLAxiom>(directExpansionCandidates)) {
              System.out.println("\t" + ax);
          }
          System.out.println("There are " + expansionCandidates.size() + " expansion candidates");
          for(OWLAxiom ax : new TreeSet<OWLAxiom>(expansionCandidates)) {
              System.out.println("\t" + ax);
          }
  
  
  
          return Collections.emptySet();
      }