@Override public Future<BaseEvent> apply(ComponentItem component) { EventFuture<BaseEvent> busyEventFuture = EventFuture.forKey(component, ComponentItem.BUSY); return component.isBusy() ? busyEventFuture : Futures.<BaseEvent>immediateFuture(null); }
@Override public void cancelComponents() { for (ComponentItem component : getComponents()) if (component.isBusy()) component.triggerAction(ComponentItem.CANCEL_ACTION); }