public <T> T construct(Class<T> componentType) {
if (configuration.clustering().cacheMode().isDistributed()) {
return (T) new DistributedEntryRetriever(configuration.clustering().stateTransfer().chunkSize(),
configuration.clustering().stateTransfer().timeout(), TimeUnit.MILLISECONDS);
} else {
return (T) new LocalEntryRetriever(configuration.clustering().stateTransfer().chunkSize(),
configuration.clustering().stateTransfer().timeout(), TimeUnit.MILLISECONDS);
}
}