}
protected void registerTask(final UIRunnable runnable) {
final UIContext uiContext = runnable.getUiContext();
uiContext.addUIContextListener(this);
Set<UIRunnable> runnables = runnablesByUIContexts.get(uiContext);
if (runnables == null) {
runnables = new HashSet<UIScheduledThreadPoolExecutor.UIRunnable>();
runnablesByUIContexts.put(uiContext, runnables);
}