_determineLevelsCustomCallback() {
    const minLevel = 100000;

    // TODO: this should come from options.
    // eslint-disable-next-line no-unused-vars -- This should eventually be implemented with these parameters used.
    const customCallback = function (nodeA, nodeB, edge) {};

    // TODO: perhaps move to HierarchicalStatus.
    //       But I currently don't see the point, this method is not used.
    const levelByDirection = (nodeA, nodeB, edge) => {
      let levelA = this.hierarchical.levels[nodeA.id];
      // set initial level
      if (levelA === undefined) {
        levelA = this.hierarchical.levels[nodeA.id] = minLevel;
      }

      const diff = customCallback(
        NetworkUtil.cloneOptions(nodeA, "node"),
        NetworkUtil.cloneOptions(nodeB, "node"),
        NetworkUtil.cloneOptions(edge, "edge")
      );

      this.hierarchical.levels[nodeB.id] = levelA + diff;
    };

    this._crawlNetwork(levelByDirection);
    this.hierarchical.setMinLevelToZero();
  }
TODO: release feature
TODO: Determine if this feature is needed at all
@private