@Override
 public void start(WSDLGenExtnContext ctxt) {
   WSBinding binding = ctxt.getBinding();
   TypedXmlWriter root = ctxt.getRoot();
   enabled = binding.isFeatureEnabled(AddressingFeature.class);
   if (!enabled) return;
   AddressingFeature ftr = binding.getFeature(AddressingFeature.class);
   required = ftr.isRequired();
   root._namespace(AddressingVersion.W3C.wsdlNsUri, AddressingVersion.W3C.getWsdlPrefix());
 }
 private WSDLBoundOperation.ANONYMOUS getResponseRequirement(@Nullable WSDLBoundOperation wbo) {
   try {
     if (af.getResponses() == AddressingFeature.Responses.ANONYMOUS) {
       return WSDLBoundOperation.ANONYMOUS.required;
     } else if (af.getResponses() == AddressingFeature.Responses.NON_ANONYMOUS) {
       return WSDLBoundOperation.ANONYMOUS.prohibited;
     }
   } catch (NoSuchMethodError e) {
     // Ignore error, defaut to optional
   }
   // wsaw wsdl binding case will have some value set on wbo
   return wbo != null ? wbo.getAnonymous() : WSDLBoundOperation.ANONYMOUS.optional;
 }