def ensure_free_position(cur, node, position):
    """
    Move siblings away to have a free slot at ``position`` in the
    children of ``node``.

    :param node:
    :type node: Node or int
    :param int position:
    """
    try:
        get_node_at_position(cur, node, position)
        node_exists_at_position = True
    except __HOLE__:
        node_exists_at_position = False

    if node_exists_at_position:
        shift_positions(cur, node, position, +1)
dataset/ETHPy150Open conceptsandtraining/libtree/libtree/core/positioning.py/ensure_free_position