code: def _internal_declare_key_flags(flag_names,
                                  flag_values=FLAGS, key_flag_values=None):
    
    key_flag_values = key_flag_values or flag_values
  
    module = _helpers.GetCallingModule()
  
    for flag_name in flag_names:
      flag = flag_values.GetFlag(flag_name)
      # TODO(vrusinov): _RegisterKeyFlagForModule should be public.
      key_flag_values._RegisterKeyFlagForModule(module, flag)
docs: Declares a flag as key for the calling module.
  
    Internal function.  User code should call DECLARE_key_flag or
    ADOPT_module_key_flags instead.
  
    Args:
      flag_names: A list of strings that are names of already-registered
        Flag objects.
      flag_values: A FlagValues object that the flags listed in
        flag_names have registered with (the value of the flag_values
        argument from the DEFINE_* calls that defined those flags).
        This should almost never need to be overridden.
      key_flag_values: A FlagValues object that (among possibly many
        other things) keeps track of the key flags for each module.
        Default None means "same as flag_values".  This should almost
        never need to be overridden.
  
    Raises:
      UnrecognizedFlagError: when we refer to a flag that was not
        defined yet.