code: def assert_keys_type_value(self,
                                 caller,
                                 extra_error_text,
                                 *context_items):
          
          assert context_items, ("context_items parameter must be specified.")
  
          for context_item in context_items:
              self.assert_key_type_value(context_item, caller, extra_error_text)
docs: Assert that keys exist of right type and has a value.
  
          Args:
               caller: string. calling function name - this used to construct
                       error messages
               extra_error_text: append to end of error message. This can happily
                                 be None or ''.
              *context_items: ContextItemInfo tuples
  
          Raises:
              AssertionError: if context_items None.
              KeyNotInContextError: Key doesn't exist
              KeyInContextHasNoValueError: context[key] is None or the wrong
                                           type.