public SubscriptionCollectionResource(
      List<Subscription> subscriptions,
      Class<Subscription> entityClass,
      String baseResourceUri,
      String collectionPath,
      UriInfo uriInfo,
      Map<String, List<String>> queryParams,
      RestApiVersion apiVersion) {

    super(
        subscriptions,
        entityClass,
        baseResourceUri,
        collectionPath,
        uriInfo,
        queryParams,
        apiVersion);

    List<String> expand = queryParams.get(ResourcePath.EXPAND_QP_KEY);
    if (ResourcePath.expand(entityClass, expand)) {
      /*
       * We pass null for apiVersion since the version used in the
       * original request does not necessarily apply here.
       */
      apiVersion = null;
      this.items =
          SubscriptionResource.subscriptionResourceListPageFromSubscriptions(
              subscriptions, uriInfo, queryParams, apiVersion);
    }
  }
 protected QueueConsumer createConsumer(
     boolean durable,
     boolean autoAck,
     String subscriptionName,
     String selector,
     long timeout,
     boolean deleteWhenIdle)
     throws ActiveMQException {
   QueueConsumer consumer;
   if (autoAck) {
     SubscriptionResource subscription =
         new SubscriptionResource(
             sessionFactory,
             subscriptionName,
             subscriptionName,
             serviceManager,
             selector,
             durable,
             timeout);
     subscription.setDurable(durable);
     subscription.setDeleteWhenIdle(deleteWhenIdle);
     consumer = subscription;
   } else {
     AcknowledgedSubscriptionResource subscription =
         new AcknowledgedSubscriptionResource(
             sessionFactory,
             subscriptionName,
             subscriptionName,
             serviceManager,
             selector,
             durable,
             timeout);
     subscription.setDurable(durable);
     subscription.setDeleteWhenIdle(deleteWhenIdle);
     consumer = subscription;
   }
   return consumer;
 }