anchor.diff:      var annotation = new _Annotation.from(line);
       if (annotation != null) {
         testsAsLines.putIfAbsent(annotation.key,
  -          () => new List<String>.from(testTemplate)).add(line);
  -      outcomes.putIfAbsent(annotation.key,
  -          () => new Set<String>());
  -      if (annotation.rest == 'continued') {
  -        continue;
  -      } else {
  +          () => new List<String>.from(testsAsLines["none"]));
  +      // Add line to test with annotation.key as key, empty line to the rest.
  +      for (var key in testsAsLines.keys) {
  +        testsAsLines[key].add(annotation.key == key ? line : "");
  +      }
  +      outcomes.putIfAbsent(annotation.key, () => new Set<String>());
  +      if (annotation.rest != 'continued') {
           for (String nextOutcome in annotation.outcomesList) {
             if (validMultitestOutcomes.contains(nextOutcome)) {
               outcomes[annotation.key].add(nextOutcome);
  
positive.code:         }
        }
      } else {
        testTemplate.add(line);
        for (var test in testsAsLines.values) test.add(line);
      }
    }
  
    var keysToDelete = [];
    // Check that every key (other than the none case) has at least one outcome
  
negative.code:        'static type warning', 'dynamic type error',
         'checked mode compile-time error']);
  
    // Create the set of multitests, which will have a new test added each
    // time we see a multitest line with a new key.
    Map<String, List<String>> testsAsLines = new Map<String, List<String>>();
  
    // Add the default case with key "none".
    testsAsLines['none'] = new List<String>();
    outcomes['none'] = new Set<String>();
  
    int lineCount = 0;
    for (String line in lines) {
  