docs: @SuppressWarnings("unchecked")
      public <T> T proxy(final Object delegate, Class<?> [] interfaces)
      {
          return (T)Proxy.newProxyInstance
              (delegate.getClass().getClassLoader(),
               interfaces,
               new ProxyInvocationHandler(delegate));
      }