getBaseEdges(clusteredEdgeId) {
    const IdsToHandle = [clusteredEdgeId];
    const doneIds = [];
    const foundIds = [];
    const max = 100;
    let counter = 0;

    while (IdsToHandle.length > 0 && counter < max) {
      const nextId = IdsToHandle.pop();
      if (nextId === undefined) continue; // Paranoia here and onwards
      const nextEdge = this.body.edges[nextId];
      if (nextEdge === undefined) continue;
      counter++;

      const replacingIds = nextEdge.clusteringEdgeReplacingIds;
      if (replacingIds === undefined) {
        // nextId is a base id
        foundIds.push(nextId);
      } else {
        // Another cluster edge, unravel this one as well
        for (let i = 0; i < replacingIds.length; ++i) {
          const replacingId = replacingIds[i];

          // Don't add if already handled
          // TODO: never triggers; find a test-case which does
          if (
            IdsToHandle.indexOf(replacingIds) !== -1 ||
            doneIds.indexOf(replacingIds) !== -1
          ) {
            continue;
          }

          IdsToHandle.push(replacingId);
        }
      }

      doneIds.push(nextId);
    }

    return foundIds;
  }
Get all regular edges for this clustered edge id.
@param {vis.Edge.id} clusteredEdgeId
@returns {Array.<vis.Edge.id>} all baseEdgeId's under this clustered edge