diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java
index d4be998..d2fe1b3 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/types/LispDistinguishedNameAddress.java
@@ -81,7 +81,8 @@
                         implements LispAddressReader<LispDistinguishedNameAddress> {
 
         @Override
-        public LispDistinguishedNameAddress readFrom(ByteBuf byteBuf) throws LispParseError {
+        public LispDistinguishedNameAddress readFrom(ByteBuf byteBuf)
+                                                        throws LispParseError {
 
             StringBuilder sb = new StringBuilder();
             byte character;
@@ -101,7 +102,8 @@
                         implements LispAddressWriter<LispDistinguishedNameAddress> {
 
         @Override
-        public void writeTo(ByteBuf byteBuf, LispDistinguishedNameAddress address) throws LispWriterException {
+        public void writeTo(ByteBuf byteBuf, LispDistinguishedNameAddress address)
+                                                    throws LispWriterException {
             String distinguishedName = address.getDistinguishedName();
             byte[] nameBytes = distinguishedName.getBytes();
             for (int i = 0; i < nameBytes.length; i++) {
