code: @Override
  	public int countCases() {
  		int counter = 1;
  		if (dependent) {
  			for (Constraint constraint : constraints) {
  				if (dependent) {
  					counter *= constraint.countCases();
  				} else {
  					// TODO point can not be reached as dependent as dependent has been queried above
  					// already.
  					counter = Math.max(counter, constraint.countCases());
  				}
  			}
  		}
  		return counter;
  	}
docs: If the control object is set to {@code dependent} all sub-fields will be combined
  arbitrarily, i.e. all case numbers will be multiplied with each other. If the control fiel is
  not set to {@code dependent} only the maximum is taken as all other cases are covered by it.
  
  @return the number of cases in this constraint