diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java
index ec07673..fa426e1 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/model/ModelCache.java
@@ -49,8 +49,10 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import static org.onosproject.net.DefaultEdgeLink.createEdgeLink;
@@ -553,6 +555,14 @@
         return uiTopology.findSynthLinks(regionId);
     }
 
+    Map<UiLinkId, UiSynthLink> relevantSynthLinks(RegionId regionId) {
+        Map<UiLinkId, UiSynthLink> result = new HashMap<>();
+        for (UiSynthLink sl : getSynthLinks(regionId)) {
+            result.put(sl.original().id(), sl);
+        }
+        return result;
+    }
+
     /**
      * Refreshes the internal state.
      */
@@ -569,11 +579,6 @@
 
         services.region().getRegions().forEach(r -> {
             RegionId rid = r.id();
-
-//            BasicRegionConfig rcfg = cfgService.getConfig(rid, BasicRegionConfig.class);
-//            services.netcfg() ...
-            // TODO: figure out how to include peer-location data in UiRegion instance
-
             UiRegion region = uiTopology.findRegion(rid);
             if (region != null) {
                 reconcileDevicesAndHostsWithRegion(allDevices, allHosts, rid, region);
