@Override
    public void invoke(final MainAction runnable) {
        this.invoke(runnable, false);
    }
@Test
    public void testInvoke() throws Exception {
        final CountDownLatch entry = new CountDownLatch(1);
        final AbstractController controller = new AbstractController() {
            @Override
            public void invoke(final MainAction runnable, final boolean wait) {
                assertFalse(wait);
                entry.countDown();
            }
        };
        new Thread(() -> controller.invoke(new DefaultMainAction() {
            @Override
            public void run() {
                //
            }
        })).start();
        entry.await(1, TimeUnit.SECONDS);
    }