code: public NodeSet<OWLClass> getFillers(OWLClassExpression ce, List<OWLObjectPropertyExpression> propertyList) {
          Set<Node<OWLClass>> result = new HashSet<Node<OWLClass>>();
          entailmentCheckCount = 0;
          computeExistentialFillers(ce, propertyList, getDataFactory().getOWLThing(), result, new HashSet<OWLClass>());
          NodeSet<OWLClass> nodeSetResult = new OWLClassNodeSet(result);
          if (fillerTreatment == FillerTreatment.ALL) {
              return nodeSetResult;
          }
          Set<Node<OWLClass>> removed = new HashSet<Node<OWLClass>>();
          Set<Node<OWLClass>> finalResult = new HashSet<Node<OWLClass>>(nodeSetResult.getNodes());
          for (Node<OWLClass> resultCls : result) {
              OWLClass resultClsRep = resultCls.getRepresentativeElement();
              if (!removed.contains(resultCls)) {
                  removed.add(resultCls);
                  NodeSet<OWLClass> supers = reasoner.getSuperClasses(resultClsRep, false);
                  removed.addAll(supers.getNodes());
                  finalResult.removeAll(supers.getNodes());
              }
          }
          System.out.printf("For %s and %s, there were %d entailment checks.\n", ce, propertyList, entailmentCheckCount);
          return new OWLClassNodeSet(finalResult);
  
      }
docs: Gets the fillers of the existential restrictions that are entailed to be superclasses the specified class
  expression and act along the specified property chain.  In essence, this finds bindings for ?x with respect to
  the following template: <code>SubClassOf(ce ObjectSomeValuesFrom(p1, (ObjectSomeValuesFrom(p2 ?x)))</code> for
  arbitrary chains of properties.
  
  @param ce           The class expression.  Not {@code null}.
  @param propertyList A list of property expressions that constitute a property chain.
  @return A set of class expressions that are the entailed fillers of entailed existential restriction superclasses.