def _combine_external_inputs_with_precursor_nodes(node, external_inputs):
    """
    User_provided_input_nodes.

    Args:
        node (OnnxGraphNode): Node instance.
        external_inputs (list[str]): Inputs in onnx ir.

    Returns:
        list[str], precursor nodes list.
    """
    inputs = set(node.ir_node_inputs)
    to_be_added = list(inputs & set(external_inputs))
    precursor = node.ir_node_precursor
    # Add external inputs to precursor as the order of its inputs.
    for item in to_be_added:
        node_idx = node.ir_node_inputs.index(item)
        precursor.insert(node_idx, item)
    return precursor