private double getRouteStopWaitTime( Id<TransitLine> lineId, Id<TransitRoute> routeId, Id<TransitStopFacility> stopId, double time) { Tuple<String, String> key = new Tuple<String, String>(lineId.toString(), routeId.toString()); waitTimeCalls++; WaitTimeData waitTimeData = waitTimes.get(key).get(stopId.toString()); if (waitTimeData.getNumData((int) (time / timeSlot)) == 0) { scheduleCalls++; double[] waitTimes = scheduledWaitTimes.get(key).get(stopId.toString()); return waitTimes[ (int) (time / timeSlot) < waitTimes.length ? (int) (time / timeSlot) : (waitTimes.length - 1)]; } else { return waitTimeData.getWaitTime((int) (time / timeSlot)); } }