code: def _construct_node(loader, node, base_tag):
      "Warning: depends on python-yaml internals"
      node = copy.copy(node) # bypass YAML anti recursion
      best_tag = base_tag
      best_fit = 0
      for key, val in loader.DEFAULT_TAGS.iteritems():
          lenk = len(key)
          if lenk <= best_fit:
              continue
          if base_tag.startswith(key):
              best_tag = val + base_tag[lenk:]
              best_fit = lenk
      node.tag = best_tag
      return loader.construct_object(node, deep=Truef _construct_node(loader, node, base_tag):
      "Warning: depends on python-yaml internals"
      node = copy.copy(node) # bypass YAML anti recursion
      best_tag = base_tag
      best_fit = 0
      for key, val in loader.DEFAULT_TAGS.iteritems():
          lenk = len(key)
          if lenk <= best_fit:
              continue
          if base_tag.startswith(key):
              best_tag = val + base_tag[lenk:]
              best_fit = lenk
      node.tag = best_tag
      return loader.construct_object(node, deep=True)
docs: Warning: depends on python-yaml internals