for (OWLClass cls : ont.getClassesInSignature()) {
Set<OWLSubClassOfAxiom> axioms = ont.getSubClassAxiomsForSubClass(cls);
if (axioms.size() > 1) {
Set<OWLClassExpression> superClasses = new HashSet<OWLClassExpression>();
for (OWLSubClassOfAxiom ax : axioms) {
changes.add(new RemoveAxiom(ont, ax));
superClasses.add(ax.getSuperClass());
}
OWLClassExpression combinedSuperClass = getDataFactory().getOWLObjectIntersectionOf(superClasses);
changes.add(new AddAxiom(ont, getDataFactory().getOWLSubClassOfAxiom(cls, combinedSuperClass)));
}