code: @SuppressWarnings("WeakerAccess")
  	public static <T> T createClientProxy(ClassLoader classLoader, Class<T> proxyInterface, final JsonRpcClient client, Socket socket) throws IOException {
  		return createClientProxy(classLoader, proxyInterface, client, socket.getInputStream(), socket.getOutputStream());
  	}
docs: Creates a {@link Proxy} of the given {@code proxyInterface}
  that uses the given {@link JsonRpcClient}.
  
  @param <T>            the proxy type
  @param classLoader    the {@link ClassLoader}
  @param proxyInterface the interface to proxy
  @param client         the {@link JsonRpcClient}
  @param socket         the {@link Socket}
  @return the proxied interface
  @throws IOException if an I/O error occurs when creating the input stream,  the output stream, the socket
  is closed, the socket is not connected,  or the socket input has been shutdown using shutdownInput()