# File lib_wpm/wpm.rb, line 2109
    def invoke
      if (@properties.has_action?) then
        if (action_id = driver.params['action']) then
          action_id =~ /^(\S+)\.(\d+)$/ or raise WidgetError, "invalid action-id syntax: #{action_id.inspect}"
          component_name = $1
          call_index = $2.to_i
          if (call_index == @properties.call_index && component_name == self.component_name) then
            @properties.action
          end
        end
      end

      for component in @child_components
        component.run
      end

      nil
    end