code: private void findMatchingValues(NavigableMap<Endpoint, Integer> map, Endpoint endpoint, List<UUID> result) {
          // Mark this endpoint as a marker, because it is used to do a tailMap traversal to query matching edges
          endpoint.setMarker();
          
          // Find the first key 
          Endpoint floorKey = map.floorKey(endpoint);
          
          Map<Endpoint, Integer> view;
          if (floorKey == null) {
              // This means that the element being searched is the minimum
              view = map;
          } else {
              view = map.tailMap(floorKey);
          }
          
          boolean isFirst = true;
          for (Map.Entry<Endpoint, Integer> entry : view.entrySet()) {
              Endpoint key = entry.getKey();
  
              if (endpoint.isMatch(key)) {
                  // Matching entry, must be added to result
                  result.add(key.getEdgeId());
              } else {
                  // Done with the search -- the tree map is sorted
                  
                  if (isFirst) {
                      // continue
                  } else {
                      break;
                  }
              }
              
              isFirst = false;
          }
      }
docs: This method removes all keys that match the given value