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

      if new_fragment && !new_fragment.respond_to?(:to_str)
        raise TypeError, "Can't convert #{new_fragment.class} into String."
      end
      @fragment = new_fragment ? new_fragment.to_str : nil

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

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