return false; } else {  Iterator iter = this.enumerateLiterals(); while (iter.hasNext()) { Literal current = (Literal) iter.next(); if (!canKeep(instance, current)) { return false; } } return true;
  public boolean counterInstance(Instance instance) {    if ((instance instanceof IndividualInstance)	&& (m_type == IndividualLiteral.PART_PROPERTY)) {      /* In the case of an individual instance, all the parts of the individual       * have to be considered.       * Part properties can be found in the body only, so here we test for       * an instance satisfying the set.       * It satisfies the set if there exists a part satisfying the set.       */      Enumeration enu 	= ((IndividualInstance) instance).getParts().enumerateInstances();      while (enu.hasMoreElements()) {	if (counterInstance(instance, (Instance) enu.nextElement())) {	  return true;	}      }      return false;    } else {      /* Usual case. */      Iterator iter = this.enumerateLiterals();      while (iter.hasNext()) {	Literal current = (Literal) iter.next();	if (!canKeep(instance, current)) {	  return false;	}      }      return true;    }  }