private static ConsistentHash constructConsistentHashInstance(Configuration c) {
Class<? extends ConsistentHash> chClass = Util.loadClass(c.getConsistentHashClass(), c.getClassLoader());
Hash h = (Hash) Util.getInstance(c.getHashFunctionClass(), c.getClassLoader());
HashSeed hs = c.getHashSeed() != null ? c.getHashSeed() :
(HashSeed) Util.getInstance(c.getHashSeedClass(), c.getClassLoader());
return constructConsistentHashInstance(chClass, h, hs, c.getNumVirtualNodes(), new GroupManagerImpl(c.getGroupers()));
}