docs: public void alterMQLinkLocalization(MQLinkDefinition mqld,
                                          LocalizationDefinition ld,
                                          VirtualLinkDefinition vld)
                      throws SINotPossibleInCurrentConfigurationException,
                      SIResourceException,
                      SIConnectionLostException,
                      SIException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(
                          tc,
                          "alterMQLinkLocalization",
                          new Object[] { vld, mqld, ld });
  
          // Get the destination
          LinkTypeFilter filter = new LinkTypeFilter();
          filter.MQLINK = Boolean.TRUE;
  
          // includeInvisible?
          // filter.VISIBLE = Boolean.TRUE;
  
          MQLinkHandler mqLinkHandler =
                          (MQLinkHandler) linkIndex.findByMQLinkUuid(mqld.getUuid(), filter);
  
          checkMQLinkExists(
                            mqLinkHandler != null,
                            vld.getName());
  
          synchronized (mqLinkHandler)
          {
              //  Get the wrapped mqlinkobject
              MQLinkObject mqlinkObject = mqLinkHandler.getMQLinkObject();
  
              // Call MQLink Component to propagate the update request
              mqlinkObject.update(mqld);
  
              // Now we look at those changes that MP needs to act upon.
              // We'll do this under a tranaction, in the spirit of the code that
              // alters destination information. This work is neither coordinated with
              // the MQLink component nor the Admin component.
              // Create a local UOW
              LocalTransaction transaction = txManager.createLocalTransaction(true);
              // Try to alter the local destination.
              try
              {
                  // Update the virtual linkdefinition
                  mqLinkHandler.updateLinkDefinition(vld, transaction);
                  // Drive the update to the localization definition.
                  if (ld != null)
                  {
                      // Update the localisation definition too.
                      mqLinkHandler.updateLocalizationDefinition(ld, transaction);
                  }
  
                  // Alert the lookups object to handle the re-definition
                  linkIndex.create(mqLinkHandler);
  
                  // If the update was successful then commit the unit of work
                  transaction.commit();
              } catch (SIResourceException e)
              {
                  // No FFDC code needed
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                      SibTr.exit(tc, "alterMQLinkLocalization", e);
  
                  handleRollback(transaction);
  
                  throw e;
              } catch (RuntimeException e)
              {
                  // FFDC
                  FFDCFilter.processException(
                                              e,
                                              "com.ibm.ws.sib.processor.impl.DestinationManager.alterMQLinkLocalization",
                                              "1:3611:1.508.1.7",
                                              this);
  
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
                  {
                      SibTr.exception(tc, e);
                      SibTr.exit(tc, "alterMQLinkLocalization", e);
                  }
  
                  handleRollback(transaction);
  
                  throw e;
              }
          } // eof synchronized on mqLinkHandler
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "alterMQLinkLocalization");
      }