diff --git a/core/api/src/main/java/org/onosproject/net/newresource/Resource.java b/core/api/src/main/java/org/onosproject/net/newresource/Resource.java
index fc696d5..6e68404 100644
--- a/core/api/src/main/java/org/onosproject/net/newresource/Resource.java
+++ b/core/api/src/main/java/org/onosproject/net/newresource/Resource.java
@@ -41,6 +41,13 @@
     DiscreteResource ROOT = new DiscreteResource();
 
     /**
+     * Returns the ID of this resource.
+     *
+     * @return the ID of this resource
+     */
+    ResourceId id();
+
+    /**
      * Checks if the type of this instance is the specified type.
      *
      * @param ancestorType type of resource to be checked.
@@ -59,6 +66,14 @@
     <T> T volume();
 
     /**
+     * Returns the last component of this instance.
+     *
+     * @return the last component of this instance.
+     * The return value is equal to the last object of {@code components()}.
+     */
+    Object last();
+
+    /**
      * Returns the parent resource of this instance.
      * E.g. if this resource is Link:1/VLAN ID:100, the return value is the resource for Link:1.
      *
@@ -89,19 +104,4 @@
      * @return a child resource
      */
     ContinuousResource child(Class<?> child, double value);
-
-    /**
-     * Returns the last component of this instance.
-     *
-     * @return the last component of this instance.
-     * The return value is equal to the last object of {@code components()}.
-     */
-    Object last();
-
-    /**
-     * Returns the ID of this resource.
-     *
-     * @return the ID of this resource
-     */
-    ResourceId id();
 }
