### Question:
AmqpJmsStreamMessageFacade extends AmqpJmsMessageFacade implements JmsStreamMessageFacade { @Override public boolean hasNext() { return !list.isEmpty() && position < list.size(); }  @Override AmqpJmsStreamMessageFacade copy(); @Override byte getJmsMsgType(); @Override boolean hasNext(); @Override Object peek(); @Override void pop(); @Override void put(Object value); @Override void reset(); @Override void clearBody(); @Override boolean hasBody(); @Override JmsStreamMessage asJmsMessage();  }### Answer:
@Test public void testHasNext() throws Exception { AmqpJmsStreamMessageFacade amqpStreamMessageFacade = createNewStreamMessageFacade(); assertFalse("unexpected value", amqpStreamMessageFacade.hasNext()); amqpStreamMessageFacade.put(Boolean.TRUE); amqpStreamMessageFacade.put(Boolean.FALSE); assertTrue("unexpected value", amqpStreamMessageFacade.hasNext()); amqpStreamMessageFacade.pop(); assertTrue("unexpected value", amqpStreamMessageFacade.hasNext()); amqpStreamMessageFacade.pop(); assertFalse("unexpected value", amqpStreamMessageFacade.hasNext()); }