code: public Object chooseValue() {
  		if (!valueChoiceFunctions.containsKey(this.getClass())) throw new Error ("No value choice function defined for domains fo type " + this.getClass().getSimpleName());
  		if (defaultValueChoiceFunction == null)
  			return this.chooseValue((String)valueChoiceFunctions.keySet().toArray()[0]);
  		return this.chooseValue(defaultValueChoiceFunction);
  	}
docs: Choose a value from this {@link Domain} according to the default {@link ValueChoiceFunction}
  (or the {@link ValueChoiceFunction} which was first registered if no default is set).
  @return A value chosen according to the {@link Domain}'s default {@link ValueChoiceFunction}.