diff --git a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/DME2.java b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/DME2.java
index 326490d..6bdd87e 100644
--- a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/DME2.java
+++ b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/DME2.java
@@ -124,7 +124,7 @@
             sb.append("&dme2.partner=" + this.partner);
         }
         sb.append("&dme2.allowhttpcode=true");
-        return (sb.toString());
+        return sb.toString();
     }
 
     public synchronized String acquireHostName() {
diff --git a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SvcLogicContextList.java b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SvcLogicContextList.java
index aa25fe3..32e1aeb 100644
--- a/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SvcLogicContextList.java
+++ b/sliPluginUtils/provider/src/main/java/org/onap/ccsdk/sli/core/slipluginutils/SvcLogicContextList.java
@@ -60,7 +60,7 @@
 
         // Initialize list
         int capacity = getCtxListLength(ctx, prefix);
-        this.list = new ArrayList<HashMap<String, String>>(capacity);
+        this.list = new ArrayList<>(capacity);
         for( int i = 0; i < capacity; i++ ) {
             this.list.add(i, new HashMap<String,String>());
         }
@@ -158,7 +158,7 @@
 
         for( int i = 0; i < this.list.size(); i++ ) {
             for( Map.Entry<String,String> entry : this.list.get(i).entrySet() ) {
-                if( entry.getKey().equals("") ) {
+                if("".equals(entry.getKey())) {
                     ctx.setAttribute(prefix + '[' + i + ']', entry.getValue());
                 } else {
                     ctx.setAttribute(prefix + '[' + i + "]." + entry.getKey(), entry.getValue());
