void (List<? extends Runnable> copy) { // do not run under lock for (Runnable runnable : copy) { try { runnable.run(); } catch (ProcessCanceledException ignore) { } catch (Throwable e) { LOG.error(e); } } }