code: def address_book(self, *, resource=None, address_book='personal'):
          
          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)')
docs: 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