public synchronized List<MySQLBaseBinlogEvent> poll() {
        if (!running) {
            return Collections.emptyList();
        }
        try {
            List<MySQLBaseBinlogEvent> result = blockingEventQueue.poll(100L, TimeUnit.MILLISECONDS);
            return null == result ? Collections.emptyList() : result;
        } catch (final InterruptedException ignored) {
            Thread.currentThread().interrupt();
            return Collections.emptyList();
        }
    }
@Test
    void assertPollOnNotRunning() throws ReflectiveOperationException {
        Plugins.getMemberAccessor().set(MySQLBinlogClient.class.getDeclaredField("channel"), client, channel);
        Plugins.getMemberAccessor().set(MySQLBinlogClient.class.getDeclaredField("running"), client, false);
        assertThat(client.poll(), is(Collections.emptyList()));
    }