code: <T> T createProxy(Class<T> interfaceClass, C adsServiceClient) {
      Set<Class<?>> interfaces = Sets.newHashSet(adsServiceClient.getClass().getInterfaces());
      interfaces.add(interfaceClass);
      Object proxy = Proxy.newProxyInstance(
          adsServiceClient.getSoapClient().getClass().getClassLoader(),
          interfaces.toArray(new Class[] {}), adsServiceClient);
      return interfaceClass.cast(proxy);
    }
docs: Creates the proxy for the {@link AdsServiceClient}.
  
  @param <T> the service type
  @param adsServiceClient the client to proxy
  @return the proxy