diff --git a/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java b/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java
index 5b1604e..646e4ab 100644
--- a/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java
+++ b/cli/src/main/java/org/onosproject/cli/net/LayoutAddCommand.java
@@ -29,7 +29,7 @@
 
 /**
  * Add a new UI layout.
- * <p>
+ *
  * <pre>
  * layout-add {layout-id} {bg-ref} \
  *   [ {region-id} {parent-layout-id} {scale} {offset-x} {offset-y} ]
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispGeoCoordinateLcafAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispGeoCoordinateLcafAddress.java
index d70fd03..c344975 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispGeoCoordinateLcafAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispGeoCoordinateLcafAddress.java
@@ -34,7 +34,7 @@
  * <p>
  * Geo Coordinate type is defined in draft-ietf-lisp-lcaf-22
  * https://tools.ietf.org/html/draft-ietf-lisp-lcaf-22#page-11
- * <p>
+ *
  * <pre>
  * {@literal
  *  0                   1                   2                   3
@@ -363,6 +363,7 @@
          *
          * @return LispGeoCoordinateLcafAddress instance
          */
+        @Override
         public LispGeoCoordinateLcafAddress build() {
 
             checkNotNull(address, "Must specify an AFI address");
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispLcafAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispLcafAddress.java
index cd63b8d..2c9310b 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispLcafAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispLcafAddress.java
@@ -42,7 +42,7 @@
 
 /**
  * LISP Canonical Address Formatted address class.
- * <p>
+ *
  * <pre>
  * {@literal
  *  0                   1                   2                   3
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispMulticastLcafAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispMulticastLcafAddress.java
index 64657b1..172999f 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispMulticastLcafAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispMulticastLcafAddress.java
@@ -33,7 +33,7 @@
  * <p>
  * Multicast group membership type is defined in draft-ietf-lisp-lcaf-22
  * https://tools.ietf.org/html/draft-ietf-lisp-lcaf-22#page-15
- * <p>
+ *
  * <pre>
  * {@literal
  *  0                   1                   2                   3
@@ -229,6 +229,7 @@
          *
          * @return LispMulticastLcafAddress instance
          */
+        @Override
         public LispMulticastLcafAddress build() {
 
             checkNotNull(srcAddress, "Must specify a source address");
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispNonceLcafAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispNonceLcafAddress.java
index db3fd29..62996f9 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispNonceLcafAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/lcaf/LispNonceLcafAddress.java
@@ -33,7 +33,7 @@
  * <p>
  * Nonce locator data type is defined in draft-ietf-lisp-lcaf-22
  * https://tools.ietf.org/html/draft-ietf-lisp-lcaf-22#page-32
- * <p>
+ *
  * <pre>
  * {@literal
  *  0                   1                   2                   3
@@ -143,6 +143,7 @@
          *
          * @return LispNonceLcafAddress instance
          */
+        @Override
         public LispNonceLcafAddress build() {
 
             checkNotNull(address, "Must specify an address");
diff --git a/protocols/restconf/server/rpp/src/main/java/org/onosproject/protocol/restconf/server/rpp/RestconfWebResource.java b/protocols/restconf/server/rpp/src/main/java/org/onosproject/protocol/restconf/server/rpp/RestconfWebResource.java
index ceba1e0..4bd2168 100644
--- a/protocols/restconf/server/rpp/src/main/java/org/onosproject/protocol/restconf/server/rpp/RestconfWebResource.java
+++ b/protocols/restconf/server/rpp/src/main/java/org/onosproject/protocol/restconf/server/rpp/RestconfWebResource.java
@@ -95,7 +95,7 @@
      * Handles the RESTCONF Event Notification Subscription request. If the
      * subscription is successful, a ChunkedOutput stream is created and returned
      * to the caller.
-     * <P></P>
+     * <p>
      * This function is not blocked on streaming the data (so that it can handle
      * other incoming requests). Instead, a worker thread running in the background
      * does the data streaming. If errors occur during streaming, the worker thread
@@ -108,7 +108,7 @@
     @Produces(MediaType.APPLICATION_JSON)
     @Path("streams/{streamId}")
     public ChunkedOutput<String> handleNotificationRegistration(@PathParam("streamId") String streamId) {
-        final ChunkedOutput<String> output = new ChunkedOutput<String>(String.class);
+        final ChunkedOutput<String> output = new ChunkedOutput<>(String.class);
         try {
             service.subscribeEventStream(streamId, output);
         } catch (RestconfException e) {
