private void testExplanation(OWLAxiom axiom) {
OWLOntology ont = null;
try {
ont = OWL.Ontology(axiom);
PelletReasoner reasoner = PelletReasonerFactory.getInstance().createReasoner( ont );
reasoner.getKB().setDoExplanation( true );
assertTrue( "Entailment failed", reasoner.isEntailed( axiom ) );
Set<ATermAppl> terms = reasoner.getKB().getExplanationSet();
assertTrue( "Explanation incorrect " + terms, terms.size() == 1);
OWLAxiom explanation = new AxiomConverter(reasoner).convert(terms.iterator().next());
assertEquals( "Unexpected explanation", axiom, explanation );
}