<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def address_book(self, *, resource=None, address_book='personal'):
 """ Get an instance to the specified address book for the specified account resource :param str resource: Custom resource to be used in this address book (Defaults to parent main_resource) :param str address_book: Choose from 'Personal' or 'GAL' (Global Address List) :return: a representation of the specified address book :rtype: AddressBook or GlobalAddressList :raises RuntimeError: if invalid address_book is specified """

        if address_book.lower() == 'personal':
            return AddressBook(parent=self, main_resource=resource,
                               name='Personal Address Book')
        elif address_book.lower() == 'gal':
            return GlobalAddressList(parent=self)
        else:
            raise RuntimeError(
                'address_book must be either "personal" '
                '(resource address book) or "gal" (Global Address List)')