private void rightFix()

in java/src/main/java/com/epam/deltix/containers/AvlTree.java [119:137]


    private void rightFix(AvlTreeNode<TKey, TValue> node, AvlTreeNode<TKey, TValue> parent)
    {
        int leftHeight = node.left == null ? 0 : node.left.height;
        int rightHeight = node.right == null ? 0 : node.right.height;
        if (leftHeight + 1 < rightHeight)
        {
            AvlTreeNode<TKey, TValue> r = node.right;
            leftHeight = r.left == null ? 0 : r.left.height;
            rightHeight = r.right == null ? 0 : r.right.height;
            if (rightHeight < leftHeight)
                rotateRight(r.left, r, node);

            rotateLeft(node, node.right, parent);
        }
        leftHeight = node.left == null ? 0 : node.left.height;
        rightHeight = node.right == null ? 0 : node.right.height;
        node.height = 1 + Math.max(leftHeight, rightHeight);
        node.count = 1 + (node.left == null ? 0 : node.left.count) + (node.right == null ? 0 : node.right.count);
    }