def query(word)
      node = @the_node
      results = []
      word.split("").each do |letter|
        next_node = node[letter]
        if next_node != nil
          node = next_node
          next
        else
          return ['']
        end
      end
      results << Word.new(word, node.final)
      results += get_childs(node).map{|s| Word.new(word) + s}
      results.select{|r| r.final}.map{|r| r.to_s }
    end
def query(word)
      node = @the_node
      results = []
      word.split("").each do |letter|
        next_node = node[letter]
        if next_node != nil
          node = next_node
          next
        else
          return ['']
        end
      end
      results << Word.new(word, node.final)
      results += get_childs(node).map{|s| Word.new(word) + s}
      results.select{|r| r.final}.map{|r| r.to_s }
    end
get all words with given prefix