diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecordTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecordTest.java
index 99dcfcf..ec45980 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecordTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecordTest.java
@@ -42,8 +42,7 @@
     @Before
     public void setup() {
 
-        LispLocatorRecord.LocatorRecordBuilder builder1 =
-                    new DefaultLocatorRecordBuilder();
+        LocatorRecordBuilder builder1 = new DefaultLocatorRecordBuilder();
 
         LispIpv4Address ipv4Locator1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
 
@@ -58,8 +57,7 @@
                         .withLocatorAfi(ipv4Locator1)
                         .build();
 
-        LispLocatorRecord.LocatorRecordBuilder builder2 =
-                    new DefaultLocatorRecordBuilder();
+        LocatorRecordBuilder builder2 = new DefaultLocatorRecordBuilder();
 
         sameAsRecord1 = builder2
                         .withPriority((byte) 0x01)
@@ -72,8 +70,7 @@
                         .withLocatorAfi(ipv4Locator1)
                         .build();
 
-        LispLocatorRecord.LocatorRecordBuilder builder3 =
-                    new DefaultLocatorRecordBuilder();
+        LocatorRecordBuilder builder3 = new DefaultLocatorRecordBuilder();
 
         LispIpv4Address ipv4Locator2 = new LispIpv4Address(IpAddress.valueOf("192.168.1.2"));
 
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java
index 434e22a..aa10703 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/protocols/DefaultLispMapNotifyTest.java
@@ -47,8 +47,7 @@
     @Before
     public void setup() {
 
-        NotifyBuilder builder1 =
-                        new DefaultNotifyBuilder();
+        NotifyBuilder builder1 = new DefaultNotifyBuilder();
 
         List<LispMapRecord> records1 = ImmutableList.of(getMapRecord(), getMapRecord());
 
@@ -58,8 +57,7 @@
                         .withMapRecords(records1)
                         .build();
 
-        NotifyBuilder builder2 =
-                        new DefaultNotifyBuilder();
+        NotifyBuilder builder2 = new DefaultNotifyBuilder();
 
         List<LispMapRecord> records2 = ImmutableList.of(getMapRecord(), getMapRecord());
 
@@ -69,8 +67,7 @@
                         .withMapRecords(records2)
                         .build();
 
-        NotifyBuilder builder3 =
-                        new DefaultNotifyBuilder();
+        NotifyBuilder builder3 = new DefaultNotifyBuilder();
 
         notify2 = builder3
                         .withKeyId((short) 2)
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispAppDataLcafAddressTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispAppDataLcafAddressTest.java
index f9a00ee..2af2048 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispAppDataLcafAddressTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispAppDataLcafAddressTest.java
@@ -43,8 +43,7 @@
     @Before
     public void setup() {
 
-        AppDataAddressBuilder builder1 =
-                new AppDataAddressBuilder();
+        AppDataAddressBuilder builder1 = new AppDataAddressBuilder();
 
         LispAfiAddress ipv4Address1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
 
@@ -58,8 +57,7 @@
                     .withAddress(ipv4Address1)
                     .build();
 
-        AppDataAddressBuilder builder2 =
-                new AppDataAddressBuilder();
+        AppDataAddressBuilder builder2 = new AppDataAddressBuilder();
 
         sameAsAddress1 = builder2
                             .withProtocol((byte) 0x01)
@@ -71,8 +69,7 @@
                             .withAddress(ipv4Address1)
                             .build();
 
-        AppDataAddressBuilder builder3 =
-                new AppDataAddressBuilder();
+        AppDataAddressBuilder builder3 = new AppDataAddressBuilder();
 
         LispAfiAddress ipv4Address2 = new LispIpv4Address(IpAddress.valueOf("192.168.2.1"));
 
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSegmentLcafAddressTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSegmentLcafAddressTest.java
index eda8f0a..6fe638b 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSegmentLcafAddressTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSegmentLcafAddressTest.java
@@ -24,6 +24,7 @@
 import org.onosproject.lisp.msg.exceptions.LispParseError;
 import org.onosproject.lisp.msg.exceptions.LispReaderException;
 import org.onosproject.lisp.msg.exceptions.LispWriterException;
+import org.onosproject.lisp.msg.types.LispSegmentLcafAddress.SegmentAddressBuilder;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
@@ -42,8 +43,7 @@
     @Before
     public void setup() {
 
-        LispSegmentLcafAddress.SegmentAddressBuilder builder1 =
-                            new LispSegmentLcafAddress.SegmentAddressBuilder();
+        SegmentAddressBuilder builder1 = new SegmentAddressBuilder();
 
         LispIpv4Address ipv4Address1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
 
@@ -53,8 +53,7 @@
                         .withAddress(ipv4Address1)
                         .build();
 
-        LispSegmentLcafAddress.SegmentAddressBuilder builder2 =
-                            new LispSegmentLcafAddress.SegmentAddressBuilder();
+        SegmentAddressBuilder builder2 = new SegmentAddressBuilder();
 
         sameAsAddress1 = builder2
                             .withIdMaskLength((byte) 0x01)
@@ -62,8 +61,7 @@
                             .withAddress(ipv4Address1)
                             .build();
 
-        LispSegmentLcafAddress.SegmentAddressBuilder builder3 =
-                            new LispSegmentLcafAddress.SegmentAddressBuilder();
+        SegmentAddressBuilder builder3 = new SegmentAddressBuilder();
 
         LispIpv4Address ipv4Address2 = new LispIpv4Address(IpAddress.valueOf("192.168.2.1"));
         address2 = builder3
diff --git a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSourceDestLcafAddressTest.java b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSourceDestLcafAddressTest.java
index c3d74e4..8375a8d 100644
--- a/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSourceDestLcafAddressTest.java
+++ b/protocols/lisp/msg/src/test/java/org/onosproject/lisp/msg/types/LispSourceDestLcafAddressTest.java
@@ -24,6 +24,7 @@
 import org.onosproject.lisp.msg.exceptions.LispParseError;
 import org.onosproject.lisp.msg.exceptions.LispReaderException;
 import org.onosproject.lisp.msg.exceptions.LispWriterException;
+import org.onosproject.lisp.msg.types.LispSourceDestLcafAddress.SourceDestAddressBuilder;
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
@@ -42,8 +43,7 @@
     @Before
     public void setup() {
 
-        LispSourceDestLcafAddress.SourceDestAddressBuilder builder1 =
-                new LispSourceDestLcafAddress.SourceDestAddressBuilder();
+        SourceDestAddressBuilder builder1 = new SourceDestAddressBuilder();
 
         LispIpv4Address srcAddress1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.1"));
         LispIpv4Address dstAddress1 = new LispIpv4Address(IpAddress.valueOf("192.168.1.2"));
@@ -56,8 +56,7 @@
                         .withDstPrefix(dstAddress1)
                         .build();
 
-        LispSourceDestLcafAddress.SourceDestAddressBuilder builder2 =
-                new LispSourceDestLcafAddress.SourceDestAddressBuilder();
+        SourceDestAddressBuilder builder2 = new SourceDestAddressBuilder();
 
         sameAsAddress1 = builder2
                             .withReserved((short) 1)
@@ -67,8 +66,7 @@
                             .withDstPrefix(dstAddress1)
                             .build();
 
-        LispSourceDestLcafAddress.SourceDestAddressBuilder builder3 =
-                new LispSourceDestLcafAddress.SourceDestAddressBuilder();
+        SourceDestAddressBuilder builder3 = new SourceDestAddressBuilder();
 
         LispIpv4Address srcAddress2 = new LispIpv4Address(IpAddress.valueOf("192.168.2.1"));
         LispIpv4Address dstAddress2 = new LispIpv4Address(IpAddress.valueOf("192.168.2.2"));
