# File lib/mcollective/application/describe_filter.rb, line 9
    def describe_s_filter(stack)
      indent = "  "
      old_indent = "  "
      puts "-S Query expands to the following instructions:"
      puts
      stack.each do |token|
        if token.keys[0] == "statement"
          if token.values[0] =~ /(<=|>=|=|=~|=)/
            op = $1
            k,v = token.values[0].split(op)
            puts indent + get_fact_string(k, v, op)
          else
            puts indent + get_class_string(token.values[0])
          end
        elsif token.keys[0] == "fstatement"
          v = token.values[0]
          result_string = indent + "Execute the Data Query '#{v["name"]}'"
          if v["params"]
            result_string += " with parameters (#{v["params"]})"
          end
          result_string += ". "
          result_string += "Check if the query's '#{v["value"]}' value #{v["operator"]} '#{v["r_compare"]}'  "
          puts result_string
        elsif token.keys[0] == "("
          puts indent + "("
          old_indent = indent
          indent *= 2
        elsif token.keys[0] == ")"
          indent = old_indent
          puts indent + ")"
        else
          puts indent + token.keys[0].upcase
        end
      end
    end