# File lib/uri_template/rfc6570.rb, line 260
    def try_convert(x)
      if x.class == self
        return x
      elsif x.kind_of? String and valid? x
        return new(x)
      elsif x.kind_of? URITemplate::Colon
        return nil if x.tokens.any?{|tk| tk.kind_of? URITemplate::Colon::Token::Splat }
        return new( x.tokens.map{|tk|
          if tk.literal?
            Literal.new(tk.string)
          else
            Expression.new([[tk.variables.first, false, 0]])
          end
        })
      else
        return nil
      end
    end