docs: public void createMQLinkLocalization(
                                           MQLinkDefinition mqld,
                                           LocalizationDefinition linkLocalizationDefinition,
                                           VirtualLinkDefinition virtualLinkDefinition,
                                           Set<String> linkLocalizingMEs)
                      throws SIIncorrectCallException, SIResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(
                          tc,
                          "createMQLinkLocalization",
                          new Object[] { mqld, linkLocalizationDefinition, virtualLinkDefinition, linkLocalizingMEs });
  
          boolean linkCreated = false;
          boolean engineResourcesRequired = false;
          MQLinkHandler mqLinkHandler = null;
          // Create a local UOW
          LocalTransaction transaction = txManager.createLocalTransaction(false);
  
          // Try to create the local destination.
          try
          {
              DestinationHandler dh = linkIndex.findByName(virtualLinkDefinition.getName(), null);
  
              if (dh == null)
              {
                  // Create a new LinkHandler, which is created locked
                  mqLinkHandler = createMQLinkHandler(mqld, virtualLinkDefinition, transaction);
                  linkCreated = true;
              }
              else
              {
                  mqLinkHandler = (MQLinkHandler) dh;
              }
  
              synchronized (mqLinkHandler)
              {
                  // If the link is corrupt, do not attempt any update.
                  if (!mqLinkHandler.isCorruptOrIndoubt())
                  {
                      engineResourcesRequired = createMQLinkMPResources(mqLinkHandler,
                                                                        mqld,
                                                                        linkLocalizationDefinition,
                                                                        virtualLinkDefinition,
                                                                        linkLocalizingMEs,
                                                                        transaction,
                                                                        linkCreated);
                  }
  
                  // If everything was successful then commit the unit of work
                  transaction.commit();
  
                  // Now we tell the MQLink component to go ahead and create
                  // the MQLink infrastructure, if appropriate
                  if (!mqLinkHandler.isCorruptOrIndoubt())
                  {
                      if (engineResourcesRequired)
                          createMQLinkEngineResources(mqld, mqLinkHandler);
  
                      //Whether we are reusing the Handler or not, we are now ready to
                      // register the link with WLM
                      mqLinkHandler.registerLink();
                  }
              } // eof synchronized on MQLinkHandle
          } catch (RuntimeException e)
          {
              // FFDC
              FFDCFilter.processException(
                                          e,
                                          "com.ibm.ws.sib.processor.impl.DestinationManager.createMQLinkLocalization",
                                          "1:6885:1.508.1.7",
                                          this);
  
              if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              {
                  SibTr.exception(tc, e);
                  SibTr.exit(tc, "createMQLinkLocalization", e);
              }
  
              handleRollback(transaction);
  
              // PK69423 Put the link in-doubt, so we do not delete it when we reconcile
              putLinkIntoIndoubtState(virtualLinkDefinition.getName());
  
              throw e;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "createMQLinkLocalization");
      }