def is_upstream_processed(incoming_edges, edges_to_process):
    """
    Check if all incoming edges have been processed. 
    Return True if processed.
    
    :param incoming_edges: list of edges to check (incoming edges of a current edge)
    :type incoming_edges: list of Edge objects
    :param edges_to_process: list of edges left to process
    :type edges_to_process: list of Edge objects
    """
    upstream_processed = True 
    
    for incoming_edge in incoming_edges :
        # Check if each incoming edge is still in the list of edges to process
        if incoming_edge in edges_to_process:
            # If the edge is in the list of edges to process, it has not been 
            # processed yet
            upstream_processed = False
            
    return upstream_processed