def new_message(self, recipient=None, *, recipient_type=RecipientType.TO):
if self.main_resource == GAL_MAIN_RESOURCE:<EOL><INDENT>raise RuntimeError('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>if isinstance(recipient_type, str):<EOL><INDENT>recipient_type = RecipientType(recipient_type)<EOL><DEDENT>recipient = recipient or self.emails.get_first_recipient_with_address()<EOL>if not recipient:<EOL><INDENT>return None<EOL><DEDENT>new_message = self.message_constructor(parent=self, is_draft=True)<EOL>target_recipients = getattr(new_message, str(recipient_type.value))<EOL>target_recipients.add(recipient)<EOL>return new_message<EOL>
This method returns a new draft Message instance with
        contacts first email as a recipient

        :param Recipient recipient: a Recipient instance where to send this
         message. If None first email of this contact will be used
        :param RecipientType recipient_type: section to add recipient into
        :return: newly created message
        :rtype: Message or None