_determineLevelsByHubsize() {
    const levelDownstream = (nodeA, nodeB) => {
      this.hierarchical.levelDownstream(nodeA, nodeB);
    };

    const hubSizes = this._getHubSizes();

    for (let i = 0; i < hubSizes.length; ++i) {
      const hubSize = hubSizes[i];
      if (hubSize === 0) break;

      forEach(this.body.nodeIndices, (nodeId) => {
        const node = this.body.nodes[nodeId];

        if (hubSize === this._getActiveEdges(node).length) {
          this._crawlNetwork(levelDownstream, nodeId);
        }
      });
    }
  }
this function allocates nodes in levels based on the recursive branching from the largest hubs.
@private