docs: @Override
      public InputHandler getInputHandler(ProtocolType type, SIBUuid8 sourceMEUuid, JsMessage msg)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "getInputHandler",
                          new Object[] { type, sourceMEUuid, msg });
  
          InputHandler msgHandler = null;
  
          if (type == ProtocolType.UNICASTINPUT)
          {
              msgHandler = getInputHandler();
          }
          else if (type == ProtocolType.PUBSUBINPUT)
          {
              msgHandler = getInputHandler();
          }
          else if (type == ProtocolType.ANYCASTINPUT)
          {
  
              // For durable, AIHs are referenced by pseudo destination ID so check for that first
              SIBUuid12 destID = msg.getGuaranteedTargetDestinationDefinitionUUID();
              SIBUuid12 gatheringTargetDestUuid = msg.getGuaranteedGatheringTargetUUID();
  
              msgHandler = _protoRealization.
                              getRemoteSupport().
                              getAnycastInputHandlerByPseudoDestId(destID);
  
              // Otherwise, use the uuid of the sourceCellule ME to find the RCD to deliver the message. We assume that this
              // uuid corresponds to that used to choose the RCD initially, and that was used by the associated
              // AIH as the uuid of the DME to which it sent the request for the message.
              if (msgHandler == null)
                  msgHandler = getAnycastInputHandler(sourceMEUuid, gatheringTargetDestUuid, true);
          }
          //else
          //{
          //unsupported protocol type
          //return null
          //}
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "getInputHandler", msgHandler);
  
          return msgHandler;
      }