# File lib/ruote/exp/fe_subprocess.rb, line 154
    def apply

      return invoke_engine_participant if attribute(:engine)

      ref = attribute(:ref) || attribute_text

      raise "no subprocess referred in #{tree}" unless ref

      pos, subtree = Ruote.lookup_subprocess(self, ref)

      vars = compile_atts
      vars.merge!('tree' => tree_children.first)
        # NOTE : we're taking the first child here...

      launch_sub(pos, subtree, :variables => vars)
    end