code: @SuppressWarnings("unchecked")
  	public static <T> T stripProxy(@Nullable final WrappingProxy<T> wrappingProxy) {
  		if (wrappingProxy == null) {
  			return null;
  		}
  
  		T delegate = wrappingProxy.getWrappedDelegate();
  
  		int numProxiesStripped = 0;
  		while (delegate instanceof WrappingProxy) {
  			throwIfSafetyNetExceeded(++numProxiesStripped);
  			delegate = ((WrappingProxy<T>) delegate).getWrappedDelegate();
  		}
  
  		return delegate;
  	}
docs: Expects a proxy, and returns the unproxied delegate.
  
  @param wrappingProxy The initial proxy.
  @param <T> The type of the delegate. Note that all proxies in the chain must be assignable to T.
  @return The unproxied delegate.