public void visit(OWLDataOneOf node) { try { lastDataTypeExpressionPointer = owlDataRange2DataTypeExpressionPointerMap.get(node); if (lastDataTypeExpressionPointer == null) { List<DataValuePointer> pointers = new ArrayList<DataValuePointer>(); for (OWLConstant con : node.getValues()) { con.accept(this); pointers.add(getLastDataValuePointer()); } faCTPlusPlus.initArgList(); for (DataValuePointer pointer : pointers) { faCTPlusPlus.addArg(pointer); } faCTPlusPlus.closeArgList(); lastDataTypeExpressionPointer = faCTPlusPlus.getDataEnumeration(); owlDataRange2DataTypeExpressionPointerMap.put(node, lastDataTypeExpressionPointer); dataTypeExpressionPointerMap.put(lastDataTypeExpressionPointer, node); } } catch (Exception e) { throw new FaCTPlusPlusRuntimeException(e); } }