<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _extract_recipients( message: Message, resent_dates: List[Union[str, Header]] = None ) -> List[str]: """ Extract the recipients from the message object given. """

    recipients = []  # type: List[str]

    if resent_dates:
        recipient_headers = ("Resent-To", "Resent-Cc", "Resent-Bcc")
    else:
        recipient_headers = ("To", "Cc", "Bcc")

    for header in recipient_headers:
        recipients.extend(message.get_all(header, []))  # type: ignore

    parsed_recipients = [
        str(email.utils.formataddr(address))
        for address in email.utils.getaddresses(recipients)
    ]

    return parsed_recipients