<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def edge_has_annotation(edge_data: EdgeData, key: str) -> Optional[Any]: """Check if an edge has the given annotation. :param edge_data: The data dictionary from a BELGraph's edge :param key: An annotation key :return: If the annotation key is present in the current data dictionary For example, it might be useful to print all edges that are annotated with 'Subgraph': """

    annotations = edge_data.get(ANNOTATIONS)

    if annotations is None:
        return None

    return annotations.get(key)