   # (This is the default; you only need to call this, if you have configured
   # a different root earlier, and now you want to restore the default setting.)
   setRealRoot: -> @mapper.setRealRoot()
+
+  # Notify the library that the document has changed.
+  # This means that subsequent calls can not safely re-use previously cached
+  # data structures, so some calculations will be necessary again.
+  #
+  # The usage of this feature is not mandatorry; if not receiving change notifications,
+  # the library will just assume that the document can change anythime, and therefore
+  # will not assume any stability.
+  documentChanged: -> @mapper.documentChanged()
 
   # The available paths which can be searched
   #

  #    It's not necessary to submit path, if the search was prepared beforehand,
  #    with the prepareSearch() method
  # 
  #  rescan: should the DOM be re-scanned, even if we already have a mapping for it?
  # 
  # For the details about the returned data structure, see the documentation of the search() method.
  searchExact: (pattern, distinct = true, caseSensitive = false, path = null, rescan = false) ->
    if not @pm then @pm = new window.DTM_ExactMatcher
    @pm.setDistinct(distinct)
    @pm.setCaseSensitive(caseSensitive)
    @search(@pm, pattern, null, path, rescan)

  # Search for text using regular expressions
  #

  #    It's not necessary to submit path, if the search was prepared beforehand,
  #    with the prepareSearch() method
  # 
  # For the details about the returned data structure, see the documentation of the search() method.
  searchRegex: (pattern, caseSensitive = false, path = null) ->
    if not @rm then @rm = new window.DTM_RegexMatcher
    @rm.setCaseSensitive(caseSensitive)
    @search @rm, pattern, null, path

  # Search for text using fuzzy text matching
  #
