code: def get_name_providers(pipeline, last_setting):
      """Scan the pipeline to find name providers matching the name given in the setting
      pipeline - pipeline to scan
      last_setting - scan the modules in order until you arrive at this setting
      returns a list of providers that provide a correct "thing" with the
      same name as that of the subscriber
      """
      from ..setting.text.alphanumeric.name import Name
  
      choices = []
  
      for module in pipeline.modules(False):
          module_choices = []
  
          for setting in module.visible_settings():
              if setting.key() == last_setting.key():
                  return choices
  
              if (
                  isinstance(setting, Name)
                  and setting != "Do not use"
                  and module.enabled
                  and last_setting.matches(setting)
                  and setting.value == last_setting.value
              ):
                  module_choices.append(setting)
  
          choices += module_choices
  
      assert False, "Setting not among visible settings in pipeline"
  
label_desc: Use image node_id 2 for calling a global function with example usage: get_name_providers(pipeline, last_setting) and returns: choices