public <T> T construct(Class<T> componentType) {
// TODO: Eventually, NumericVersionGenerator and SimpleClusteredVersionGenerator should be merged into one...
switch (configuration.versioning().scheme()) {
case SIMPLE: {
if (configuration.clustering().cacheMode().isClustered())
return (T) new SimpleClusteredVersionGenerator();
return (T) new NumericVersionGenerator();
}
default:
return (T) new NumericVersionGenerator();