code: @Override
  	public Context getInitialContext(Hashtable<?, ?> environment) throws NamingException { // NOPMD
  		try {
  			final Class<?> clazz = Class.forName(initialContextFactory);
  			final InitialContextFactory icf = (InitialContextFactory) clazz.newInstance();
  			final Context context = icf.getInitialContext(environment);
  			final JdbcWrapper jdbcWrapper = JdbcWrapper.SINGLETON;
  			return jdbcWrapper.createContextProxy(context);
  		} catch (final ClassNotFoundException e) {
  			throw createNamingException(e);
  		} catch (final InstantiationException e) {
  			throw createNamingException(e);
  		} catch (final IllegalAccessException e) {
  			throw createNamingException(e);
  		}
  	}
docs: {@inheritDoc}