### Question:
JmsPoolQueueSender extends JmsPoolMessageProducer implements QueueSender, AutoCloseable { public QueueSender getQueueSender() throws JMSException { return (QueueSender) getMessageProducer(); } JmsPoolQueueSender(JmsPoolSession session, QueueSender messageProducer, Destination destination, AtomicInteger refCount); @Override void send(Queue queue, Message message, int deliveryMode, int priority, long timeToLine); @Override void send(Queue queue, Message message); @Override Queue getQueue(); @Override String toString(); QueueSender getQueueSender();  }### Answer:
@Test public void testGetTopicSubscriber() throws JMSException { JmsPoolConnection connection = (JmsPoolConnection) cf.createQueueConnection(); QueueSession session = connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createTemporaryQueue(); JmsPoolQueueSender sender = (JmsPoolQueueSender) session.createSender(queue); assertNotNull(sender.getQueueSender()); assertTrue(sender.getQueueSender() instanceof MockJMSQueueSender); sender.close(); try { sender.getQueueSender(); fail("Cannot read state on closed sender"); } catch (IllegalStateException ise) {} }