_placeInRegion(parentBranch, node, region) {
    const children = parentBranch.children[region];

    switch (children.childrenCount) {
      case 0: // place node here
        children.children.data = node;
        children.childrenCount = 1;
        this._updateBranchMass(children, node);
        break;
      case 1: // convert into children
        // if there are two nodes exactly overlapping (on init, on opening of cluster etc.)
        // we move one node a little bit and we do not put it in the tree.
        if (
          children.children.data.x === node.x &&
          children.children.data.y === node.y
        ) {
          node.x += this._rng();
          node.y += this._rng();
        } else {
          this._splitBranch(children);
          this._placeInTree(children, node);
        }
        break;
      case 4: // place in branch
        this._placeInTree(children, node);
        break;
    }
  }
actually place the node in a region (or branch)
@param {object} parentBranch
@param {Node} node
@param {'NW'| 'NE' | 'SW' | 'SE'} region
@private