code: def create_action_for_code(cls, action_code, name, configuration, managed_input):
          
          Global.LOGGER.debug(f"creating action {name} for code {action_code}")
          Global.LOGGER.debug(f"configuration length: {len(configuration)}")
          Global.LOGGER.debug(f"input: {managed_input}")
  
          # get the actions catalog
          my_actions_file = Action.search_actions()
  
          # load custom actions to find the right one
          for filename in my_actions_file:
              module_name = os.path.basename(os.path.normpath(filename))[:-3]
  
              # garbage collect all the modules you load if they are not necessary
              context = {}
              Action.load_module(module_name, filename)
              for subclass in Action.__subclasses__():
                  if subclass.type == action_code:
                      action_class = subclass
                      action = action_class(name, configuration, managed_input)
                      return action
              subclass = None
              gc.collect()
docs: Factory method to create an instance of an Action from an input code