docs: public void createControlAdapter()
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
       SibTr.entry(tc, "createControlAdapter");
      
      //we have no remote topic space control yet, but the fact
      //is that one might exist due to a remote get being performed
      //from this remote ME
      //We must go through the existing AIHs and see.
      Map aihMap = _destinationHandler.getPseudoDurableAIHMap();
      Iterator aihIterator = aihMap.values().iterator();
      SIBUuid8 psohRemoteMEUuid = getTargetMEUuid();
      while(aihIterator.hasNext())
      {
        AnycastInputHandler aih = (AnycastInputHandler)aihIterator.next();
        //get the remote ME uuid for this AIH
        SIBUuid8 aihRemoteMEUuid = aih.getLocalisationUuid();
        //see if it is for the same me as this PSOH
        if(aihRemoteMEUuid.equals(psohRemoteMEUuid))
        {
          //the control adapter for the remote TS alaready exists
          //so we just update it
          AttachedRemoteSubscriberControl attachedRSControl = aih.getControlAdapter();
          // We want to work on the RemoteTopicSpaceControl rather than the AttachedRemoteSubcriberControl
          _controlAdapter = attachedRSControl.getRemoteTopicSpaceControl();
          
          _controlAdapter.registerControlAdapterAsMBean();
          break;
        }
      }
      if(_controlAdapter==null)
      {
        //there are no AIHs for getting messages from this remote ME
        //We create a new one
        if (link != null)
        {
          _controlAdapter = new LinkRemoteTopicSpaceControl(this, _messageProcessor, link.getName());
          // Dont register MBean until a message is sent
        }
        else
        {
          _controlAdapter = new RemoteTopicSpaceControl(this, null, _messageProcessor);
          _controlAdapter.registerControlAdapterAsMBean();
        }
      } 
           
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
       SibTr.exit(tc, "createControlAdapter");
    }