diff --git a/core/api/src/main/java/org/onosproject/store/service/Versioned.java b/core/api/src/main/java/org/onosproject/store/service/Versioned.java
index ac7109c..2b67edd 100644
--- a/core/api/src/main/java/org/onosproject/store/service/Versioned.java
+++ b/core/api/src/main/java/org/onosproject/store/service/Versioned.java
@@ -99,6 +99,17 @@
         return new Versioned<>(transformer.apply(value), version, creationTime);
     }
 
+    /**
+     * Returns the value of the specified Versioned object if non-null or else returns
+     * a default value.
+     * @param versioned versioned object
+     * @param defaultValue default value to return if versioned object is null
+     * @return versioned value or default value if versioned object is null
+     */
+    public static <U> U valueOrElse(Versioned<U> versioned, U defaultValue) {
+        return versioned == null ? defaultValue : versioned.value();
+    }
+
     @Override
     public int hashCode() {
         return Objects.hashCode(value, version, creationTime);
diff --git a/core/api/src/test/java/org/onosproject/store/service/VersionedTest.java b/core/api/src/test/java/org/onosproject/store/service/VersionedTest.java
index 3f5faa7..9f59454 100644
--- a/core/api/src/test/java/org/onosproject/store/service/VersionedTest.java
+++ b/core/api/src/test/java/org/onosproject/store/service/VersionedTest.java
@@ -60,6 +60,17 @@
     }
 
     /**
+     * Tests the valueOrElse method.
+     */
+    @Test
+    public void testOrElse() {
+        Versioned<String> vv = new Versioned<String>("foo", 1);
+        Versioned<String> nullVV = null;
+        assertThat(Versioned.valueOrElse(vv, "bar"), is("foo"));
+        assertThat(Versioned.valueOrElse(nullVV, "bar"), is("bar"));
+    }
+
+    /**
      * Tests the equals, hashCode and toString methods using Guava EqualsTester.
      */
     @Test
