# File lib/addressable/uri.rb, line 580
    def scheme=(new_scheme)
      # Check for frozenness
      raise TypeError, "Can't modify frozen URI." if self.frozen?

      @scheme = new_scheme ? new_scheme.to_str : nil
      @scheme = nil if @scheme.to_s.strip == ""

      # Reset dependant values
      @normalized_scheme = nil
      @uri_string = nil

      # Ensure we haven't created an invalid URI
      validate()
    end