code: @Override
      public void setSubscriptionProtocol(String p) throws JMSException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "setSubscriptionProtocol", p);
  
          if (ApiJmsConstants.SUBSCRIPTION_PROTOCOL_UNICAST.equals(p) ||
              ApiJmsConstants.SUBSCRIPTION_PROTOCOL_MULTICAST.equals(p) ||
              ApiJmsConstants.SUBSCRIPTION_PROTOCOL_UNICAST_AND_MULTICAST.equals(p)) {
              jcaManagedConnectionFactory.setSubscriptionProtocol(p);
          }
          else {
              // This is not a legal value.
              throw (JMSException) JmsErrorUtils.newThrowable(JMSException.class,
                                                              "INVALID_VALUE_CWSIA0261", new Object[] { "subscriptionProtocol", p }, tc);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "setSubscriptionProtocol");
      }
docs: Set the subscription protocol to be used for the transmission of
  message data from the ME to the client.
  
  @param the protocol to use.
  @see ApiJmsConstants.SUBSCRIPTION_PROTOCOL_UNICAST
  @see ApiJmsConstants.SUBSCRIPTION_PROTOCOL_MULTICAST
  @see ApiJmsConstants.SUBSCRIPTION_PROTOCOL_UNICAST_AND_MULTICAST