public void visit(OWLDataValueRestriction owlDataValueRestriction) {
   try {
     DataPropertyPointer p = translate(owlDataValueRestriction.getProperty());
     OWLConstant val = owlDataValueRestriction.getValue();
     val.accept(this);
     lastClassPointer = faCTPlusPlus.getDataValue(p, getLastDataValuePointer());
   } catch (Exception e) {
     throw new FaCTPlusPlusRuntimeException(e);
   }
 }
 public void visit(OWLTypedConstant node) {
   try {
     lastDataValuePointer = owlConstant2DataValuePointerMap.get(node);
     if (lastDataValuePointer == null) {
       node.getDataType().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(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);
   }
 }