code: public static <T extends VersionedProtocol> T getProxy(
        Class<T> protocol,
        long clientVersion, InetSocketAddress addr,
        Configuration conf, SocketFactory factory) throws IOException {
      return getProtocolProxy(protocol, clientVersion,
          addr, conf, factory).getProxy();
    }
docs: Construct a client-side proxy object that implements the named protocol,
  talking to a server at the named address.