public void visit(OWLObjectOneOf desc) {
   try {
     faCTPlusPlus.initArgList();
     for (OWLIndividual ind : desc.getIndividuals()) {
       ind.accept(this);
       faCTPlusPlus.addArg(getLastIndividualPointer());
     }
     faCTPlusPlus.closeArgList();
     lastClassPointer = faCTPlusPlus.getOneOf();
   } catch (Exception e) {
     throw new FaCTPlusPlusRuntimeException(e);
   }
 }
 private void addSubClassAxiomForNominalSubstitute(OWLObjectOneOf desc, OWLClass nominalClass) {
   Set<OWLDescription> typesOfIndividuals = new HashSet<OWLDescription>();
   for (OWLIndividual ind : desc.getIndividuals()) {
     typesOfIndividuals.addAll(ind.getTypes(this.ontologyCore));
   }
   if (typesOfIndividuals.size() == 1) {
     OWLDescription typeOfIndividual = null;
     for (OWLDescription typeOfInd : typesOfIndividuals) {
       typeOfIndividual = typeOfInd;
     }
     OWLSubClassAxiom subClassAxiom =
         this.factory.getOWLSubClassAxiom(nominalClass, typeOfIndividual);
     this.rebuiltAxioms.add(subClassAxiom);
   }
   if (typesOfIndividuals.size() > 1) {
     OWLObjectUnionOf unionClass = this.factory.getOWLObjectUnionOf(typesOfIndividuals);
     OWLSubClassAxiom subClassAxiom = this.factory.getOWLSubClassAxiom(nominalClass, unionClass);
     this.rebuiltAxioms.add(subClassAxiom);
   }
 }