docs: protected Class resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException {
  		ClassLoader cl = getClass().getClassLoader();
  		Class[] cinterfaces = new Class[interfaces.length];
  
  		for (int i = 0; i < interfaces.length; i++) {
  			try {
  				cinterfaces[i] = cl.loadClass(interfaces[i]);
  			} catch (ClassNotFoundException ex) {
  				ClassLoader tccl = Thread.currentThread().getContextClassLoader();
  				if (tccl != null) {
  					return tccl.loadClass(interfaces[i]);
  				} else {
  					throw ex;
  				}
  			}
  		}
  		try {
  			return Proxy.getProxyClass(cinterfaces[0].getClassLoader(), cinterfaces);
  		} catch (IllegalArgumentException e) {
  			throw new ClassNotFoundException(null, e);
  		}
  	}