/** Creates a {@link Tube} that invokes protocol and logical handlers. */ public @NotNull Tube createHandlerTube(@NotNull Tube next) { if (!binding.getHandlerChain().isEmpty()) { HandlerTube cousin = new ServerLogicalHandlerTube(binding, seiModel, wsdlModel, next); next = cousin; if (binding instanceof SOAPBinding) { // Add SOAPHandlerTube next = cousin = new ServerSOAPHandlerTube(binding, next, cousin); // Add MessageHandlerTube next = new ServerMessageHandlerTube(seiModel, binding, next, cousin); } } return next; }