code: public SIMPVirtualLinkControllable getVirtualLinkByName(String name)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "getVirtualLinkByName", new Object[] { name });
  
      LinkHandler link = destinationManager.getLink(name);
      // See if the controllable is in the preReconstituted cache    
      VirtualLinkControl control = (VirtualLinkControl)links.get(name);
      if (link!=null)
      {
        VirtualLinkControl linkControl = (VirtualLinkControl)link.getControlAdapter();
        if (control != null)
        {
          // Merge the controllables
          linkControl.merge(control);
          links.remove(control);
        }
        control = linkControl;
      }
      else if (control == null)
      {
        // If not in the linkIndex and not in the cache then add a new one to the cache
        control = new VirtualLinkControl(messageProcessor);
        links.put(name, control);
      }
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "getVirtualLinkByName", control);
  
      return control;        
    }
docs: /* (non-Javadoc)
  @see com.ibm.ws.sib.processor.runtime.MessageProcessorControllable#getVirtualLinkByID(java.lang.String)