public synchronized EventResponse handle(Event event) { if (event.isOn()) { addEvent(event); alarm.start(); } else { removeEvent(event); if (eventsWhichSetOffTheAlarm.size() == 0) { alarm.stop(); } } return new EventResponse(alarm.isOn(), eventsWhichSetOffTheAlarm.values()); }