code: @Override
      public void createControlAdapter()
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "createControlAdapter");
  
          DestinationHandler dh = null;
          try
          {
              ItemStream is = getItemStream();
              if (is instanceof PubSubMessageItemStream)
              {
                  dh = ((PubSubMessageItemStream) is).getDestinationHandler();
                  controlAdapter = new QueuedMessage(this, dh, is);
              }
              else if (is instanceof MQLinkMessageItemStream)
              {
                  dh = ((MQLinkMessageItemStream) is).getDestinationHandler();
                  controlAdapter = new MQLinkQueuedMessage(this, dh, is);
              }
              else if (is instanceof PtoPMessageItemStream)
              {
                  dh = ((PtoPMessageItemStream) is).getDestinationHandler();
                  controlAdapter = new QueuedMessage(this, dh, is);
              }
              else
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      SibTr.debug(this, tc, "Unknown item stream type " + is);
              }
          } catch (Exception e)
          {
              FFDCFilter.processException(
                                          e,
                                          "com.ibm.ws.sib.processor.impl.store.items.MessageItem.createControlAdapter",
                                          "1:2585:1.244.1.40",
                                          this);
  
              SibTr.exception(tc, e);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "createControlAdapter");
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.sib.processor.impl.interfaces.ControllableResource#createControlAdapter()