} catch (IllegalAccessException e) {
throw new IllegalArgumentException("The moveFactoryClass (" + moveFactoryClass.getName()
+ ") does not have a public no-arg constructor", e);
}
}
MoveFactorySelector selector = new MoveFactorySelector();
selector.setMoveFactory(initializedMoveFactory);
boolean shuffleValue = (shuffle == null) ? true : shuffle.booleanValue();
selector.setShuffle(shuffleValue);
return selector;
} else if (topSize != null) {
TopListSelector selector = new TopListSelector();
selector.setTopSize(topSize);
return selector;
} else {
throw new IllegalArgumentException("A selector requires configuration, for example a moveFactoryClass.");
}
}