DirectBlockingChecker directBlockingChecker=null;
switch (config.directBlockingType) {
case OPTIMAL:
if ((config.blockingStrategyType==BlockingStrategyType.OPTIMAL && hasNominals) || config.blockingStrategyType==BlockingStrategyType.SIMPLE_CORE || config.blockingStrategyType==BlockingStrategyType.COMPLEX_CORE) {
directBlockingChecker=new ValidatedSingleDirectBlockingChecker(hasInverseRoles);
} else {
if (hasInverseRoles)
directBlockingChecker=new PairWiseDirectBlockingChecker();
else
directBlockingChecker=new SingleDirectBlockingChecker();
}
break;
case SINGLE:
if (config.blockingStrategyType==BlockingStrategyType.SIMPLE_CORE || config.blockingStrategyType==BlockingStrategyType.COMPLEX_CORE)
directBlockingChecker=new ValidatedSingleDirectBlockingChecker(hasInverseRoles);
else
directBlockingChecker=new SingleDirectBlockingChecker();
break;
case PAIR_WISE:
if (config.blockingStrategyType==BlockingStrategyType.SIMPLE_CORE || config.blockingStrategyType==BlockingStrategyType.COMPLEX_CORE)