SONAR suggestion - Synchronize initialization of static fields

Change-Id: I2ddf8220bda49f235ddfc5713174c11a147df354
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
index 24e02e6..cfd2025 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/UiWebSocketServlet.java
@@ -38,6 +38,7 @@
     private static final long PING_DELAY_MS = 5000;
 
     private static UiWebSocketServlet instance;
+    private static final Object INSTANCE_LOCK = new Object();
 
     private ServiceDirectory directory = new DefaultServiceDirectory();
 
@@ -50,19 +51,23 @@
      * Closes all currently open UI web-sockets.
      */
     public static void closeAll() {
-        if (instance != null) {
-            instance.isStopped = true;
-            instance.sockets.forEach(UiWebSocket::close);
-            instance.sockets.clear();
-            instance.pruner.cancel();
-            instance.timer.cancel();
+        synchronized (INSTANCE_LOCK) {
+            if (instance != null) {
+                instance.isStopped = true;
+                instance.sockets.forEach(UiWebSocket::close);
+                instance.sockets.clear();
+                instance.pruner.cancel();
+                instance.timer.cancel();
+            }
         }
     }
 
     @Override
     public void init() throws ServletException {
         super.init();
-        instance = this;
+        synchronized (INSTANCE_LOCK) {
+            instance = this;
+        }
         timer.schedule(pruner, PING_DELAY_MS, PING_DELAY_MS);
     }
 
@@ -93,8 +98,10 @@
      * @param payload message payload
      */
     static void sendToAll(String type, ObjectNode payload) {
-        if (instance != null) {
-            instance.sockets.forEach(ws -> ws.sendMessage(type, payload));
+        synchronized (INSTANCE_LOCK) {
+            if (instance != null) {
+                instance.sockets.forEach(ws -> ws.sendMessage(type, payload));
+            }
         }
     }
 
@@ -106,9 +113,11 @@
      * @param payload  message payload
      */
     static void sendToUser(String userName, String type, ObjectNode payload) {
-        if (instance != null) {
-            instance.sockets.stream().filter(ws -> userName.equals(ws.userName()))
-                    .forEach(ws -> ws.sendMessage(type, payload));
+        synchronized (INSTANCE_LOCK) {
+            if (instance != null) {
+                instance.sockets.stream().filter(ws -> userName.equals(ws.userName()))
+                        .forEach(ws -> ws.sendMessage(type, payload));
+            }
         }
     }