docs: public static KvStateClientProxy createKvStateClientProxy(
  			final InetAddress address,
  			final Iterator<Integer> ports,
  			final int eventLoopThreads,
  			final int queryThreads,
  			final KvStateRequestStats stats) {
  
  		Preconditions.checkNotNull(address, "address");
  		Preconditions.checkNotNull(stats, "stats");
  
  		Preconditions.checkArgument(eventLoopThreads >= 1);
  		Preconditions.checkArgument(queryThreads >= 1);
  
  		try {
  			String classname = "org.apache.flink.queryablestate.client.proxy.KvStateClientProxyImpl";
  			Class<? extends KvStateClientProxy> clazz = Class.forName(classname).asSubclass(KvStateClientProxy.class);
  			Constructor<? extends KvStateClientProxy> constructor = clazz.getConstructor(
  					InetAddress.class,
  					Iterator.class,
  					Integer.class,
  					Integer.class,
  					KvStateRequestStats.class);
  			return constructor.newInstance(address, ports, eventLoopThreads, queryThreads, stats);
  		} catch (ClassNotFoundException e) {
  			final String msg = "Could not load Queryable State Client Proxy. " + ERROR_MESSAGE_ON_LOAD_FAILURE;
  			if (LOG.isDebugEnabled()) {
  				LOG.debug(msg + " Cause: " + e.getMessage());
  			} else {
  				LOG.info(msg);
  			}
  			return null;
  		} catch (InvocationTargetException e) {
  			LOG.error("Queryable State Client Proxy could not be created: ", e.getTargetException());
  			return null;
  		} catch (Throwable t) {
  			LOG.error("Failed to instantiate the Queryable State Client Proxy.", t);
  			return null;
  		}
  	}