def get_neighbour_sharing_nodes(element_label, node_labels, part_geometry):
    """ Given an element_label and node_labels, will return the element
    label of the element that also has those labels.
    """
    element_neighbours = part_geometry.elements[element_label].neighbours
    for neighbour_label in element_neighbours:
        neighbours_nodes = part_geometry.elements[neighbour_label].nodes
        if set(node_labels).issubset(set(neighbours_nodes)):
            return neighbour_label

    # Neighbour not found
    return None