anchor.diff:  	}
   
   	_renderInvSection(node) {
  -		final value = stack.last[node.value];
  +		final value = _stack.last[node.value];
   		if ((value is List && value.isEmpty)
   				|| value == null
   				|| value == false) {
  
positive.code: 	}
  
  	final _Node _root;
  	final ctl = new List(); //TODO StreamController();
  	final stack = new List();
  	final _htmlEscapeMap = new Map<int, String>();
  
  	render(values) {
  		ctl.clear();
  		stack.clear();
  		stack.add(values);	
  		_root.children.forEach(_render_Node);
  		return ctl.join('');
  	}
  
  	_render_Node(node) {
  		switch (node.type) {
  			case _TEXT:
  				_renderText(node);
  
negative.code: }
  
  _visit(_Node root, visitor(_Node n)) {
  	var _stack = new List<_Node>()..add(root);
  	while (!_stack.isEmpty) {
  		var node = _stack.removeLast();
  		_stack.addAll(node.children);
  		visitor(node);
  	}
  }
  