// Make sure OOM is not thrown.
long oldFreeMemory = Runtime.getRuntime().freeMemory();
in = ByteBuffer.allocate(1048576 * 16).mark();
for (int i = 0; i < 10; i ++) {
decoder.decode(session, in.reset().mark(), out);
Assert.assertEquals(0, out.getMessageQueue().size());
// Memory consumption should be minimal.
Assert.assertTrue(Runtime.getRuntime().freeMemory() - oldFreeMemory < 1048576);
}