diff --git a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapState.java b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapState.java
index 0337bbd..504faff 100644
--- a/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapState.java
+++ b/core/store/primitives/src/main/java/org/onosproject/store/primitives/resources/impl/AtomixConsistentSetMultimapState.java
@@ -27,7 +27,6 @@
 import io.atomix.copycat.server.Commit;
 import io.atomix.copycat.server.Snapshottable;
 import io.atomix.copycat.server.StateMachineExecutor;
-import io.atomix.copycat.server.session.ServerSession;
 import io.atomix.copycat.server.session.SessionListener;
 import io.atomix.copycat.server.storage.snapshot.SnapshotReader;
 import io.atomix.copycat.server.storage.snapshot.SnapshotWriter;
@@ -113,11 +112,6 @@
         executor.register(Replace.class, this::replace);
     }
 
-    @Override
-    public void delete() {
-        super.delete();
-    }
-
     /**
      * Handles a Size commit.
      *
@@ -372,26 +366,6 @@
         return backingMap.get(commit.operation().key()).addCommit(commit);
     }
 
-    @Override
-    public void register(ServerSession session) {
-        super.register(session);
-    }
-
-    @Override
-    public void unregister(ServerSession session) {
-        super.unregister(session);
-    }
-
-    @Override
-    public void expire(ServerSession session) {
-        super.expire(session);
-    }
-
-    @Override
-    public void close(ServerSession session) {
-        super.close(session);
-    }
-
     private interface MapEntryValue {
 
         /**
