initial impl of a multicast route table

Change-Id: Ic86a0665d1ade6b85b05e602ead2bd9c0a7dde07
diff --git a/core/api/src/main/java/org/onosproject/net/mcast/McastRoute.java b/core/api/src/main/java/org/onosproject/net/mcast/McastRoute.java
index 47ab12b..ff1292b 100644
--- a/core/api/src/main/java/org/onosproject/net/mcast/McastRoute.java
+++ b/core/api/src/main/java/org/onosproject/net/mcast/McastRoute.java
@@ -20,6 +20,7 @@
 import org.onlab.packet.IpPrefix;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
+import static com.google.common.base.Preconditions.checkNotNull;
 
 /**
  * An entity representing a multicast route consisting of a source
@@ -50,6 +51,9 @@
     private final Type type;
 
     public McastRoute(IpPrefix source, IpPrefix group, Type type) {
+        checkNotNull(source, "Multicast route must have a source");
+        checkNotNull(group, "Multicast route must specify a group address");
+        checkNotNull(type, "Must indicate what type of route");
         this.source = source;
         this.group = group;
         this.type = type;