_insertRegion(parentBranch, region) {
    let minX, maxX, minY, maxY;
    const childSize = 0.5 * parentBranch.size;
    switch (region) {
      case "NW":
        minX = parentBranch.range.minX;
        maxX = parentBranch.range.minX + childSize;
        minY = parentBranch.range.minY;
        maxY = parentBranch.range.minY + childSize;
        break;
      case "NE":
        minX = parentBranch.range.minX + childSize;
        maxX = parentBranch.range.maxX;
        minY = parentBranch.range.minY;
        maxY = parentBranch.range.minY + childSize;
        break;
      case "SW":
        minX = parentBranch.range.minX;
        maxX = parentBranch.range.minX + childSize;
        minY = parentBranch.range.minY + childSize;
        maxY = parentBranch.range.maxY;
        break;
      case "SE":
        minX = parentBranch.range.minX + childSize;
        maxX = parentBranch.range.maxX;
        minY = parentBranch.range.minY + childSize;
        maxY = parentBranch.range.maxY;
        break;
    }

    parentBranch.children[region] = {
      centerOfMass: { x: 0, y: 0 },
      mass: 0,
      range: { minX: minX, maxX: maxX, minY: minY, maxY: maxY },
      size: 0.5 * parentBranch.size,
      calcSize: 2 * parentBranch.calcSize,
      children: { data: null },
      maxWidth: 0,
      level: parentBranch.level + 1,
      childrenCount: 0,
    };
  }
This function subdivides the region into four new segments.
Specifically, this inserts a single new segment.
It fills the children section of the parentBranch
@param {object} parentBranch
@param {'NW'| 'NE' | 'SW' | 'SE'} region
@private