When a method request is not a get/set/is method, the invoation is deferred to a ServiceInvocationHandler, passing in the proxy instance that the method was invoked on.  The ResourceInvocationHandler creates a completely separate proxy instance of itself that does not contain a ServiceInvocationHandler.  This is the proxy instance passed into the SvcIH.  The Service Implementation will have this 'new' Proxy instance injected into it, if it has a InjectField annotation on one of its Fields, and the Field is of the same type as the Proxy.  This will prevent the Service Implementation invoking one of its own Service methods on the Proxy instance, resulting in an infinite loop, and eventually a StackOverflowError.