} else if (bf < -1) {
if (node.left!.balanceFactor() <= 0) {
// left, left -> rotate right
stack[i][1] = node.rotateRight();
// left, right -> double rotate
node.left = node.left!.rotateLeft();
stack[i][1] = node.rotateRight();
}
// patch path to parent