protected boolean isResourceListStrict(IRI mainNode, TypeMatcher typeMatcher, int minSize) {
   if (mainNode == null) {
     return false;
   }
   IRI currentListNode = mainNode;
   Set<IRI> visitedListNodes = new HashSet<IRI>();
   int size = 0;
   while (true) {
     IRI firstObject = consumer.getResourceObject(currentListNode, RDF_FIRST, false);
     if (firstObject == null) {
       return false;
     }
     if (!typeMatcher.isTypeStrict(firstObject)) {
       // Something in the list that is not of the required type
       return false;
     } else {
       size++;
     }
     IRI restObject = consumer.getResourceObject(currentListNode, RDF_REST, false);
     if (visitedListNodes.contains(restObject)) {
       // Cycle - Non-terminating
       return false;
     }
     if (restObject == null) {
       // Not terminated properly
       return false;
     }
     if (restObject.equals(RDF_NIL.getIRI())) {
       // Terminated properly
       return size >= minSize;
     }
     // Carry on
     visitedListNodes.add(restObject);
     currentListNode = restObject;
   }
 }
 protected boolean isDataRangeLax(IRI mainNode, OWLRDFVocabulary predicate) {
   IRI object = consumer.getResourceObject(mainNode, predicate, false);
   return object != null && isDataRangeLax(mainNode);
 }
 protected boolean isDataRangeStrict(IRI mainNode, OWLRDFVocabulary predicate) {
   IRI object = consumer.getResourceObject(mainNode, predicate, false);
   return isDataRangeStrict(object);
 }
 protected boolean isDataPropertyStrict(IRI mainNode, OWLRDFVocabulary predicate) {
   IRI object = consumer.getResourceObject(mainNode, predicate, false);
   return object != null && isDataPropertyStrict(object);
 }
 protected boolean isClassExpressionLax(IRI mainNode, OWLRDFVocabulary predicate) {
   IRI object = consumer.getResourceObject(mainNode, predicate, false);
   return object != null && isClassExpressionLax(object);
 }
 protected boolean isResourcePresent(IRI mainNode, OWLRDFVocabulary predicate) {
   return consumer.getResourceObject(mainNode, predicate, false) != null;
 }