diff --git a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java
index 205a44d..13446b0 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/resource/impl/ContinuousResourceAllocation.java
@@ -30,6 +30,10 @@
     private final ContinuousResource original;
     private final ImmutableList<ResourceAllocation> allocations;
 
+    static ContinuousResourceAllocation empty(ContinuousResource original) {
+        return new ContinuousResourceAllocation(original, ImmutableList.of());
+    }
+
     ContinuousResourceAllocation(ContinuousResource original,
                                  ImmutableList<ResourceAllocation> allocations) {
         this.original = original;
@@ -42,18 +46,11 @@
      *
      * @param original   original resource
      * @param request    requested resource
-     * @param allocation current allocation of the resource
      * @return true if there is enough resource volume. Otherwise, false.
      */
     // computational complexity: O(n) where n is the number of allocations
-    static boolean hasEnoughResource(ContinuousResource original,
-                                     ContinuousResource request,
-                                     ContinuousResourceAllocation allocation) {
-        if (allocation == null) {
-            return request.value() <= original.value();
-        }
-
-        double allocated = allocation.allocations().stream()
+    boolean hasEnoughResource(ContinuousResource original, ContinuousResource request) {
+        double allocated = allocations.stream()
                 .filter(x -> x.resource() instanceof ContinuousResource)
                 .map(x -> (ContinuousResource) x.resource())
                 .mapToDouble(ContinuousResource::value)
