anchor.diff:            childNodes.add(childAst);
           }
         }
  -      tagStack.removeFirst();
  +      tagStack.removeLast();
       }
   
       if (isTemplateElement) {
  
positive.code: // Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
  // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  
  import 'dart:collection';
  
  import 'package:source_span/source_span.dart';
  import 'package:string_scanner/string_scanner.dart';
  
negative.code: 
      // If not a void element, look for closing tag OR child nodes.
      if (!isVoidElement && nextToken.type != NgTokenType.openElementEndVoid) {
        tagStack.add(nameToken.lexeme);
        var closingTagFound = false;
  
        while (!closingTagFound) {
  