// (service-requester).
handlerChainsType = serviceDesc.getHandlerChain(getServiceDelegateKey());
// HandlerChains apply to specific Port Compoments (service-provider) or Ports (
// (service-requesters) so find the appropriate one.
EndpointDescription ed = null;
if(portinfo !=null){
ed = serviceDesc.getEndpointDescription(portinfo.getPortName());
}
// Get the HandlerChain information, if any, off the SEI (service-provider or
// service-requster) and check for any DD overrides.
if (ed != null) {
// If there was no handler chains information specifed on the endpoint (service-
// provider) or the Service (service-requester)
// -- OR --
// If the handler chains associated with a particular instance of a service delegate
// DOES NOT match the handler chains across all service delegates, then there was
// sparse composite information specified for this service delegate. Sparse composite
// information is how Deployment Descriptor information is specified, and that
// overrides the annotations as described in the long-winded comment above.
// -- THEN --
// Use this handler chains information
HandlerChainsType hct_includingComposite = ed.getHandlerChain(getServiceDelegateKey());
HandlerChainsType hct_noComposite = ed.getHandlerChain();
if (handlerChainsType == null || (hct_includingComposite != hct_noComposite)) {
handlerChainsType = hct_includingComposite;
}
} else {
// There is no EndpointDescription that matches the portInfo specified so