} else if (scoreDefinitionType != null) {
switch (scoreDefinitionType) {
case SIMPLE:
return new SimpleScoreDefinition();
case SIMPLE_DOUBLE:
return new SimpleDoubleScoreDefinition();
case HARD_AND_SOFT:
return new HardAndSoftScoreDefinition();
default:
throw new IllegalStateException("The scoreDefinitionType (" + scoreDefinitionType
+ ") is not implemented");