Assert.assertTrue(instance.canAcceptMessage(m1));
m1.setExpiration(new Date(System.currentTimeMillis() + 5000));
Assert.assertEquals(0, instance.getMessagesInTheSystem());
for (int i = 0; i < instance.getMessageLimit(); i++) {
Message m2 = new NormalMessage();
<BUG>m2.addTag("main");
m2.setExpiration(new Date(System.currentTimeMillis() + 5000));</BUG>
m2.setCreated(new Date(System.currentTimeMillis() + i));
Assert.assertTrue(instance.canAcceptMessage(m2));
m2.apply(instance);

Assert.assertTrue(instance.canAcceptMessage(m1));
m1.setExpiration(new Date(System.currentTimeMillis() + 1));
Assert.assertTrue(instance.canAcceptMessage(m1));
m1.setExpiration(new Date(System.currentTimeMillis() + 5000));
Assert.assertEquals(0, instance.getMessagesInTheSystem());
for (int i = 0; i < instance.getMessageLimit(); i++) {
Message m2 = new NormalMessage();
m2.addTag("main");
m2.setText("text");
m2.setExpiration(new Date(System.currentTimeMillis() + 5000));
m2.setCreated(new Date(System.currentTimeMillis() + i));
Assert.assertTrue(instance.canAcceptMessage(m2));
m2.apply(instance);
