private void addNonBlockingInterceptor(ComponentReference reference, Binding binding, InvocationChain chain) {
ReferenceBindingProvider provider = ((RuntimeComponentReference)reference).getBindingProvider(binding);
if (provider != null) {
boolean supportsOneWayInvocation = provider.supportsOneWayInvocation();
if (!supportsOneWayInvocation) {
chain.addInterceptor(Phase.REFERENCE, new NonBlockingInterceptor(workScheduler));
}
}
}