@Override public void handleEvent(ActivityStartEvent event) { if (pIdsToExclude.contains(event.getPersonId())) { return; } TravellerChain chain = chains.get(event.getPersonId()); boolean beforeInPT = chain.inPT; if (event.getActType().equals(PtConstants.TRANSIT_ACTIVITY_TYPE)) chain.inPT = true; else chain.inPT = false; if (!chain.inPT && !chain.walk) chain.modes.add("car"); else if (!chain.inPT && chain.walk && !beforeInPT) chain.modes.add("walk"); else if (chain.walk) chain.modes.add("transit_walk"); else chain.modes.add( getMode( transitSchedule .getTransitLines() .get(chain.lineId) .getRoutes() .get(chain.routeId) .getTransportMode(), chain.lineId)); chain.times.add(event.getTime() - chain.lastTime); }