return new CoreSubscription(id, topic, selector, noLocal, ms, pm, topic.getFullSize(), topic.getPageSize(), topic.getDownCacheSize());
return new Subscription(id, topic, ms, pm, topic.getFullSize(), topic.getPageSize(), topic.getDownCacheSize(), selector == null ? null : new Selector(selector), noLocal);
   public CoreSubscription createSubscription(String topicName, String selector, boolean noLocal,         MessageStore ms, PersistenceManager pm) throws JMSException   {      try      {         long id = this.getNextId();                  Topic topic = (Topic)getCoreDestinationInternal(false, topicName);                  if (topic == null)         {            throw new javax.jms.IllegalStateException("Topic " + topicName + " is not loaded");         }                         return new CoreSubscription(id, topic, selector, noLocal, ms, pm, topic.getFullSize(),                                     topic.getPageSize(), topic.getDownCacheSize());      }      catch (Exception e)      {         throw new MessagingJMSException("Failed to create durable subscription", e);              }   }