docs: protected void selectSegment(Segment segment) {
      if(segment.isUnpaired()) {
        // remember selected unpaired segment
        for(Segment other : segments.getPairedSegments(segment)) {
          indirectSelections.put(other, segment);
          selectSegment(other);
        }
      }
      else {
        if(!selectedSegments.contains(segment)) {
          selectedSegments.add(segment);
          if(segment.getDBIDs() != null) {
            unselectedObjects.removeDBIDs(segment.getDBIDs());
          }
        }
      }
    }