code: @Override
  	public boolean hasNextCase() {
  		// this method only returns true if dependent values are grouped
  		if (!dependent) {
  			return false;
  		}
  		for (Constraint c : constraints) {
  			if (c.hasNextCase()) {
  				return true;
  			}
  		}
  		return false;
  	}
docs: Returns {@code true}, if at least on of the sub-constraints still has to process a case i.e.
  there is at least one sub-constraint with {@code hasNextCase() ==
  true}.
  
  @return true, if one of the sub-constrains still has cases