diff --git a/core/api/src/main/java/org/onosproject/net/newresource/ContinuousResource.java b/core/api/src/main/java/org/onosproject/net/newresource/ContinuousResource.java
index e735768..5619c5f 100644
--- a/core/api/src/main/java/org/onosproject/net/newresource/ContinuousResource.java
+++ b/core/api/src/main/java/org/onosproject/net/newresource/ContinuousResource.java
@@ -21,6 +21,8 @@
 import java.util.Objects;
 import java.util.Optional;
 
+import static com.google.common.base.Preconditions.checkNotNull;
+
 /**
  * Represents a resource path which specifies a resource which can be measured
  * as continuous value. Bandwidth of a link is an example of the resource.
@@ -74,6 +76,8 @@
 
     @Override
     public boolean isSubTypeOf(Class<?> ancestor) {
+        checkNotNull(ancestor);
+
         String typeName = (String) id.components().get(id.components().size() - 1);
         boolean foundInLeaf = typeName.equals(ancestor.getCanonicalName());
         boolean foundInAncestor = id.components().subList(0, id.components().size()).stream()
diff --git a/core/api/src/main/java/org/onosproject/net/newresource/DiscreteResource.java b/core/api/src/main/java/org/onosproject/net/newresource/DiscreteResource.java
index 1509b8b..45d3519 100644
--- a/core/api/src/main/java/org/onosproject/net/newresource/DiscreteResource.java
+++ b/core/api/src/main/java/org/onosproject/net/newresource/DiscreteResource.java
@@ -22,6 +22,7 @@
 import java.util.Optional;
 
 import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
 
 /**
  * Represents a resource path which specifies a resource which can be measured
@@ -64,6 +65,8 @@
 
     @Override
     public boolean isSubTypeOf(Class<?> ancestor) {
+        checkNotNull(ancestor);
+
         return id.components().stream()
                 .map(Object::getClass)
                 .filter(x -> x.equals(ancestor))
