diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java b/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
index 080d8ff..c65bb20 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/IntentInstaller.java
@@ -16,7 +16,7 @@
 package org.onosproject.vpls;
 
 import com.google.common.collect.SetMultimap;
-import javafx.util.Pair;
+import org.apache.commons.lang3.tuple.Pair;
 import org.onlab.packet.MacAddress;
 import org.onlab.packet.VlanId;
 import org.onosproject.core.ApplicationId;
@@ -83,7 +83,7 @@
      */
     protected void installIntents(SetMultimap<VlanId,
             Pair<ConnectPoint,
-                    MacAddress>> confHostPresentCPoint) {
+                                MacAddress>> confHostPresentCPoint) {
         List<Intent> intents = new ArrayList<>();
 
         confHostPresentCPoint.asMap().keySet()
diff --git a/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java b/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
index 2622bc8..dd58f99 100644
--- a/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
+++ b/apps/vpls/src/main/java/org/onosproject/vpls/Vpls.java
@@ -17,7 +17,7 @@
 
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.SetMultimap;
-import javafx.util.Pair;
+import org.apache.commons.lang3.tuple.Pair;
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;
@@ -179,13 +179,13 @@
         if (!connectedHosts.isEmpty()) {
             connectedHosts.forEach(host -> {
                 if (host.vlan().equals(vlanId)) {
-                    confHostPresentCPoint.put(vlanId, new Pair<>(cp, host.mac()));
+                    confHostPresentCPoint.put(vlanId, Pair.of(cp, host.mac()));
                 } else {
-                    confHostPresentCPoint.put(vlanId, new Pair<>(cp, null));
+                    confHostPresentCPoint.put(vlanId, Pair.of(cp, null));
                 }
             });
         } else {
-            confHostPresentCPoint.put(vlanId, new Pair<>(cp, null));
+            confHostPresentCPoint.put(vlanId, Pair.of(cp, null));
         }
     }
 
