diff --git a/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepChannelHandler.java b/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepChannelHandler.java
index 01e8431..30c940d 100644
--- a/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepChannelHandler.java
+++ b/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepChannelHandler.java
@@ -569,7 +569,7 @@
      * @throws PcepParseException while bulding error message
      */
     public PcepErrorMsg getErrorMsg(byte errorType, byte errorValue) throws PcepParseException {
-        LinkedList<PcepErrorObject> llerrObj = new LinkedList<PcepErrorObject>();
+        LinkedList<PcepErrorObject> llerrObj = new LinkedList<>();
         PcepErrorMsg errMsg;
 
         PcepErrorObject errObj = factory1.buildPcepErrorObject()
@@ -597,7 +597,7 @@
         } else {
 
             //If Error caught in other than Openmessage
-            LinkedList<PcepError> llPcepErr = new LinkedList<PcepError>();
+            LinkedList<PcepError> llPcepErr = new LinkedList<>();
 
             PcepError pcepErr = factory1.buildPcepError()
                     .setErrorObjList(llerrObj)
diff --git a/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java b/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
index a4ec0ff..00c8c69 100644
--- a/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
+++ b/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepClientControllerImpl.java
@@ -47,7 +47,7 @@
     private static final Logger log = LoggerFactory.getLogger(PcepClientControllerImpl.class);
 
     protected ConcurrentHashMap<PccId, PcepClient> connectedClients =
-            new ConcurrentHashMap<PccId, PcepClient>();
+            new ConcurrentHashMap<>();
 
     protected PcepClientAgent agent = new PcepClientAgent();
     protected Set<PcepClientListener> pcepClientListener = new HashSet<>();
diff --git a/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageDecoder.java b/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageDecoder.java
index e918725..b106589 100644
--- a/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageDecoder.java
+++ b/pcep/ctl/src/main/java/org/onosproject/pcep/controller/impl/PcepMessageDecoder.java
@@ -57,7 +57,7 @@
         // a list of the parsed messages to the controller.
         // The performance *may or may not* not be as good as before.
         PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader();
-        List<PcepMessage> msgList = new LinkedList<PcepMessage>();
+        List<PcepMessage> msgList = new LinkedList<>();
 
         while (buffer.readableBytes() > 0) {
             PcepMessage message = reader.readFrom(buffer);
