@Override public void handleEvent(PersonEntersVehicleEvent event) { Double startWaitingTime = agentsWaitingData.get(event.getPersonId().toString()); if (startWaitingTime != null) { Tuple<String, String> lineRoute = linesRoutesOfVehicle.get(event.getVehicleId().toString()); WaitTimeData data = waitTimes.get(lineRoute).get(stopOfVehicle.get(event.getVehicleId().toString())); data.addWaitTime((int) (startWaitingTime / timeSlot), event.getTime() - startWaitingTime); agentsWaitingData.remove(event.getPersonId().toString()); } }