# File lib/vendor/fssm/tree.rb, line 86
    def recurse(key, create=false)
      key = key_segments(key)
      node = self
      
      until key.empty?
        segment = key.shift
        node = create ? node.child!(segment) : node.child(segment)
        return nil unless node
      end
      
      node
    end