diff --git a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
index 9da2e39..5acf8e9 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/intent/impl/GossipIntentStore.java
@@ -366,12 +366,10 @@
     public void addPending(IntentData data) {
         checkNotNull(data);
         if (data.version() == null) {
-            /*
-             * Copy IntentData including request state in this way we can
-             * avoid the creation of Intents with state == request, which can
-             * be problematic if the Intent state is different from *REQ
-             * {INSTALL_, WITHDRAW_ and PURGE_}.
-             */
+            // Copy IntentData including request state in this way we can
+            // avoid the creation of Intents with state == request, which can
+            // be problematic if the Intent state is different from *REQ
+            // {INSTALL_, WITHDRAW_ and PURGE_}.
             pendingMap.put(data.key(), new IntentData(data.intent(), data.state(), data.request(),
                                                       new WallClockTimestamp(), clusterService.getLocalNode().id()));
         } else {
