docs: @Override
      public void updateDefinition(BaseDestinationDefinition destinationDefinition)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(
                          tc,
                          "updateDefinition",
                          new Object[] { destinationDefinition });
  
          DestinationDefinition oldDefinition = definition;
          DestinationDefinition newDefinition = (DestinationDefinition) destinationDefinition;
  
          super.updateDefinition(destinationDefinition);
  
          _maxFailedDeliveries = definition.getMaxFailedDeliveries();
  
          // at runtime the blockedretryinterval was not getting updated
          // since this piece of code was missing
          _blockedRetryInterval = definition.getBlockedRetryTimeout();
  
          //update TRM if necessary
          registerDestination();
  
          // Convert array of names to list of jsDestinationAddresses
          QualifiedDestinationName[] names = definition.getForwardRoutingPath();
  
          if (names != null)
          {
              ArrayList newFRP = new ArrayList(names.length);
              for (int name = 0; name < names.length; name++)
              {
                  newFRP.add(SIMPUtils.createJsDestinationAddress(
                                                                  names[name].getDestination(),
                                                                  null,
                                                                  names[name].getBus()));
              }
              _forwardRoutingPath = newFRP;
          }
          else
          {
              _forwardRoutingPath = null;
          }
  
          _replyDestination = null;
          _replySet = false;
  
          // Check whether send allowed has changed
          if (oldDefinition != null &&
              (oldDefinition.isSendAllowed() != newDefinition.isSendAllowed()))
          {
              fireSendAllowedStateChangeEvent(newDefinition.isSendAllowed());
          }
  
          if (oldDefinition != null &&
              (oldDefinition.isReceiveAllowed() != newDefinition.isReceiveAllowed()))
          {
              fireReceiveAllowedStateChangeEvent(newDefinition.isReceiveAllowed());
          }
  
          if (!_reconciled)
              setIsOrdered(definition.isOrderingRequired());
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "updateDefinition");
      }