<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_intersection(street1, street2, areacode, api=None):
 """ Retrieve intersection of two streets in a given bounding area :param overpy.Overpass api: First street of intersection :param String street1: Name of first street of intersection :param String street2: Name of second street of intersection :param String areacode: The OSM id of the bounding area :return: List of intersections :raises overpy.exception.OverPyException: If something bad happens. """

    if api is None:
        api = overpy.Overpass()

    query = """
        area(%s)->.location;
        (
            way[highway][name="%s"](area.location); node(w)->.n1;
            way[highway][name="%s"](area.location); node(w)->.n2;
        );
        node.n1.n2;
        out meta;
    """

    data = api.query(query % (areacode, street1, street2))

    return data.get_nodes()