try {
if (stub == null) {
KeyValueStub.logger.trace ("KeyValueStub: create new stub."); // $NON-NLS-1$
final KeyValueResponseTransmitter transmitter = new KeyValueResponseTransmitter ();
final String driverName = ConfigUtils.resolveParameter (config, ConfigProperties.getString ("KVStoreDriver.6"), String.class, ""); // $NON-NLS-1$ $NON-NLS-2$
final AbstractKeyValueDriver driver = KeyValueDriverFactory.createDriver (driverName, config, threadingContext);
stub = new KeyValueStub (config, transmitter, driver, channel);
stub.driverClass = KeyValueDriverFactory.DriverType.valueOf (driverName.toUpperCase (Locale.ENGLISH)).getDriverClass ();
KeyValueStub.stubs.put (cData, stub);
AbstractDriverStub.incDriverReference (stub);
channel.accept (KeyValueSession.DRIVER, stub);