code: public boolean subsumes(ReasonerAtomicQuery parent){
          MultiUnifier multiUnifier = this.getMultiUnifier(parent, UnifierType.SUBSUMPTIVE);
          if (multiUnifier.isEmpty()) return false;
          MultiUnifier inverse = multiUnifier.inverse();
          return//check whether propagated answers would be complete
                  !inverse.isEmpty() &&
                          inverse.stream().allMatch(u -> u.values().containsAll(this.getVarNames()))
                          && !parent.getAtoms(NeqPredicate.class).findFirst().isPresent()
                          && !this.getAtoms(NeqPredicate.class).findFirst().isPresent();
      }
docs: Determines whether the subsumption relation between this (C) and provided query (P) holds,
  i. e. determines if:
  
  C <= P
  
  is true meaning that P is more general than C and their respective answer sets meet:
  
  answers(C) subsetOf answers(P)
  
  i. e. the set of answers of C is a subset of the set of answers of P
  
  @param parent query to compare with
  @return true if this query subsumes the provided query