### Question:
JmsPoolTopicSubscriber extends JmsPoolMessageConsumer implements TopicSubscriber, AutoCloseable { public TopicSubscriber getTopicSubscriber() throws JMSException { return (TopicSubscriber) super.getMessageConsumer(); } JmsPoolTopicSubscriber(JmsPoolSession session, TopicSubscriber delegate); @Override Topic getTopic(); @Override boolean getNoLocal(); @Override String toString(); TopicSubscriber getTopicSubscriber();  }### Answer:
@Test public void testGetTopicSubscriber() throws JMSException { JmsPoolConnection connection = (JmsPoolConnection) cf.createTopicConnection(); TopicSession session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); Topic topic = session.createTemporaryTopic(); JmsPoolTopicSubscriber subscriber = (JmsPoolTopicSubscriber) session.createDurableSubscriber(topic, "name", "color = red", true); assertNotNull(subscriber.getTopicSubscriber()); assertTrue(subscriber.getTopicSubscriber() instanceof MockJMSTopicSubscriber); subscriber.close(); try { subscriber.getTopicSubscriber(); fail("Cannot read state on closed subscriber"); } catch (IllegalStateException ise) {} }