public synchronized boolean hasLeadingOutOfBandData() {
        if (size() > 0) {
            if (!hasStartOfBlock() || startOfBlockIndex > 0) {
                return true;
            }
        }

        return false;
    }
@Test
    public void testHasLeadingOutOfBandData() throws Exception {
        assertFalse(instance.hasLeadingOutOfBandData(), "Unexpected initial value");

        instance.write(buildTestBytes(true, true, true));
        assertFalse(instance.hasLeadingOutOfBandData());

        instance.write("BLAH".getBytes());
        assertFalse(instance.hasLeadingOutOfBandData());

        instance.reset();
        assertFalse(instance.hasLeadingOutOfBandData());

        instance.write("BLAH".getBytes());
        instance.write(buildTestBytes(true, true, true));
        assertTrue(instance.hasLeadingOutOfBandData());
    }