void (@Async.Execute @NotNull Runnable task) { try { task.run(); } catch (Throwable e) { // do not lose queued tasks because of this exception if (!(e instanceof ControlFlowException)) { try { Logger.getInstance(BoundedTaskExecutor.class).error(e); } catch (Throwable ignored) { } } } }