def forward(self, to_recipients, forward_comment=None):
        # type: (Union[List[Contact], List[str]], str) -> None
        """Forward Message to recipients with an optional comment.

        Args:
            to_recipients: A list of :class:`Contacts <pyOutlook.core.contact.Contact>` to send the email to.
            forward_comment: String comment to append to forwarded email.

        Examples:
            >>> john = Contact('john.doe@domain.com')
            >>> betsy = Contact('betsy.donalds@domain.com')
            >>> email = Message()
            >>> email.forward([john, betsy])
            >>> email.forward([john], 'Hey John')
        """
        payload = dict()

        if forward_comment is not None:
            payload.update(Comment=forward_comment)

        # A list of strings can also be provided for convenience. If provided, convert them into Contacts
        if any(isinstance(recipient, str) for recipient in to_recipients):
            to_recipients = [Contact(email=email) for email in to_recipients]

        # Contact() will handle turning itself into the proper JSON format for the API
        to_recipients = [contact.api_representation() for contact in to_recipients]

        payload.update(ToRecipients=to_recipients)

        endpoint = 'https://outlook.office.com/api/v2.0/me/messages/{}/forward'.format(self.message_id)

        self._make_api_call('post', endpoint=endpoint, data=json.dumps(payload))
Forward Message to recipients with an optional comment.

        Args:
            to_recipients: A list of :class:`Contacts <pyOutlook.core.contact.Contact>` to send the email to.
            forward_comment: String comment to append to forwarded email.

        Examples:
            >>> john = Contact('john.doe@domain.com')
            >>> betsy = Contact('betsy.donalds@domain.com')
            >>> email = Message()
            >>> email.forward([john, betsy])
            >>> email.forward([john], 'Hey John')