public boolean contains(OWLDataProperty prop) {
   if (prop.equals(owlOntologyManager.getOWLDataFactory().getOWLThing())) {
     return true;
   } else if (prop.equals(owlOntologyManager.getOWLDataFactory().getOWLNothing())) {
     return true;
   }
   return owlDataProperty2DataPropertyPointerMap.containsKey(prop);
 }
 public boolean contains(OWLClass cls) {
   if (cls.equals(owlOntologyManager.getOWLDataFactory().getOWLThing())) {
     return true;
   } else if (cls.equals(owlOntologyManager.getOWLDataFactory().getOWLNothing())) {
     return true;
   }
   return owlClass2ClassPointerMap.containsKey(cls);
 }
 public void visit(OWLUntypedConstant node) {
   try {
     lastDataValuePointer = owlConstant2DataValuePointerMap.get(node);
     if (lastDataValuePointer == null) {
       owlOntologyManager
           .getOWLDataFactory()
           .getOWLDataType(XSDVocabulary.STRING.getURI())
           .accept((OWLDataVisitor) this);
       lastDataValuePointer =
           faCTPlusPlus.getDataValue(node.getLiteral(), getLastDataTypePointer());
       owlConstant2DataValuePointerMap.put(node, lastDataValuePointer);
       dataValuePointerMap.put(lastDataValuePointer, node);
     }
   } catch (Exception e) {
     throw new FaCTPlusPlusRuntimeException(e);
   }
 }
 public void visit(OWLDataType dataType) {
   try {
     lastDataTypeExpressionPointer = null;
     lastDataTypePointer =
         (DataTypePointer) owlDataRange2DataTypeExpressionPointerMap.get(dataType);
     if (lastDataTypePointer == null) {
       if (owlOntologyManager.getOWLDataFactory().getTopDataType().equals(dataType)) {
         lastDataTypePointer = faCTPlusPlus.getDataTop();
       } else {
         lastDataTypePointer = faCTPlusPlus.getBuiltInDataType(dataType.getURI().toString());
       }
       owlDataRange2DataTypeExpressionPointerMap.put(dataType, lastDataTypePointer);
       dataTypeExpressionPointerMap.put(lastDataTypePointer, dataType);
     }
   } catch (Exception e) {
     throw new FaCTPlusPlusRuntimeException(e);
   }
 }