class EventProcessor implements RemoteEventListener {

    @Override
    public void apply(Event event) {
        // Log.info("received remote event "+event);
        if (event instanceof SessionEventData) {
            SessionEventData ed = (SessionEventData) event;
            GwtEvent<?> gwtEvent = eventRegistry.getEvent(ed);
            if (gwtEvent != null) {
                Log.debug("received event " + event + ", GWT event "
                        + gwtEvent.getClass().getName());
                try {
                    eventBus.fireEvent(gwtEvent);
                } catch (UmbrellaException e) {
                    Log.error("Event failed", e);
                }
            } else {
                Log.warn("unknown event " + event);
            }
        }
    }

    @Inject public  EventProcessor(EventBus eventBus,
            UserWorkspaceContext userWorkspaceContext,
            RemoteEventService remoteEventService);

}