state.deliver(d);
state.addDelivery(d);
   public void testRecoverableState_67() throws Throwable   {      if (!state.isRecoverable())      {         // only recoverable state is tested now         return;      }      MessageReference ref = ms.reference(MessageFactory.createMessage("message0", false, "payload0"));      Delivery d = new SimpleDelivery(channel, ref, false);      state.deliver(d);      Transaction tx = tr.createTransaction();      // recoverable state, unreliable delivery, transactional remove      state.acknowledge(d, tx);      List l = state.delivering(null);      assertEquals(1, l.size());      assertEquals("message0", ((MessageReference)l.get(0)).getMessageID());      assertTrue(state.undelivered(null).isEmpty());      l = state.browse(null);      assertEquals(1, l.size());      assertEquals("message0", ((MessageReference)l.get(0)).getMessageID());      tx.rollback();      l = state.delivering(null);      assertEquals(1, l.size());      assertEquals("message0", ((MessageReference)l.get(0)).getMessageID());      assertTrue(state.undelivered(null).isEmpty());      l = state.browse(null);      assertEquals(1, l.size());      assertEquals("message0", ((MessageReference)l.get(0)).getMessageID());      log.info("ok");   }