Index: trunk/src/atmsdriver/model/Highways.java
===================================================================
--- trunk/src/atmsdriver/model/Highways.java	(revision 234)
+++ trunk/src/atmsdriver/model/Highways.java	(revision 237)
@@ -1,4 +1,6 @@
 package atmsdriver.model;
 
+import atmsdriver.batchbuilder.TrafficLaneEvent;
+import atmsdriver.model.LoopDetector.DOTCOLOR;
 import atmsdriver.model.Station.DIRECTION;
 import java.io.File;
@@ -520,4 +522,20 @@
         return result.toString();
     }
+    
+    /**
+     * Generates the route number list, used for user input validation.
+     * @return list of route numbers.
+     */
+    public List<Integer> getAllRouteNums()
+    {
+        ArrayList<Integer> routeNums = new ArrayList<>();
+        // add the route number for each highway to the list
+        for(Highway hwy : highways)
+        {
+            routeNums.add(hwy.routeNumber);
+        }
+        return routeNums;
+    }
+    
     /**
      * XML tags used in writeToXML()
@@ -535,3 +553,40 @@
         }
     }
+    
+    public void reset()
+    {
+        for(FEPLine line : lines)
+        {
+            for(Station stn : line.stations)
+            {
+                for(LoopDetector ld : stn.loops)
+                {
+                    ld.occ = 0;
+                    ld.vol = 0;
+                }
+            }
+        }
+    }
+    
+    public void applyTrafficLaneEvent(TrafficLaneEvent event)
+    {
+        Integer routeNum = event.routeNum;
+        Highway hwy = getHighwayByRouteNumber(routeNum);
+        for(Station stn: hwy.stations)
+        {
+            if(stn.equals(event.station))
+            {
+                for(LoopDetector ld : stn.loops)
+                {
+                    if(ld.equals(event.loopDetector))
+                    {
+                        ld.occ = event.color.occupancy();
+                        ld.vol = event.color.volume();
+                        break;
+                    }
+                }
+                break;
+            }
+        }
+    }
 }
