T3 Vlan handling when output to controller

Change-Id: I82f7f94ee99800bac57b68f79984f2b4a2f7b714
(cherry picked from commit e9b45cc494bea453de9536ae559cfab0c1509061)
diff --git a/apps/t3/src/main/java/org/onosproject/t3/api/GroupsInDevice.java b/apps/t3/src/main/java/org/onosproject/t3/api/GroupsInDevice.java
index 3cfb41a..e63bdca 100644
--- a/apps/t3/src/main/java/org/onosproject/t3/api/GroupsInDevice.java
+++ b/apps/t3/src/main/java/org/onosproject/t3/api/GroupsInDevice.java
@@ -25,7 +25,7 @@
 /**
  * Class to represent the groups in a device for a given output and packet.
  */
-//FIXME consider removing.
+//FIXME consider name change.
 public class GroupsInDevice {
 
     private ConnectPoint output;
@@ -34,8 +34,9 @@
 
     /**
      * Saves the given groups for the output connect point and the selector.
-     * @param output the output connect point
-     * @param groups the groups
+     *
+     * @param output   the output connect point
+     * @param groups   the groups
      * @param selector the selector representing the final packet
      */
     public GroupsInDevice(ConnectPoint output, List<Group> groups, TrafficSelector selector) {
@@ -47,6 +48,7 @@
 
     /**
      * Returns the output connect point.
+     *
      * @return the connect point
      */
     public ConnectPoint getOutput() {
@@ -55,6 +57,7 @@
 
     /**
      * Returns the groups.
+     *
      * @return groups.
      */
     public List<Group> getGroups() {
@@ -63,12 +66,22 @@
 
     /**
      * Returns the final packet after traversing the network.
+     *
      * @return the selector with packet info
      */
     public TrafficSelector getFinalPacket() {
         return selector;
     }
 
+    /**
+     * Updates the final packet.
+     *
+     * @param updatedPacket the updated final packet
+     */
+    public void setFinalPacket(TrafficSelector updatedPacket) {
+        selector = updatedPacket;
+    }
+
     @Override
     public String toString() {
         return "GroupsInDevice{" +