anchor.diff:                      instruction.auxInstruction,
                       candidate.specificity);
                 }
  +              return null;
               }))
           .toList();
       if ((parsedUrl == null || parsedUrl.path == "") &&
  
positive.code:         _aux ? rules.recognizeAuxiliary(parsedUrl) : rules.recognize(parsedUrl);
      List<Future<Instruction>> matchPromises = possibleMatches
          .map((Future<RouteMatch> candidate) =>
              candidate.then((RouteMatch candidate) {
                if (candidate is PathMatch) {
                  List<Instruction> auxParentInstructions =
                      ancestorInstructions.length > 0
  
negative.code:                 List<Instruction> newAncestorInstructions =
                      (new List.from(ancestorInstructions)
                        ..addAll([instruction]));
                  var childInstruction = await this
                      ._recognize(candidate.remaining, newAncestorInstructions);
                  if (childInstruction == null) {
                    return null;
                  }
                  // redirect instructions are already absolute
                  if (childInstruction is RedirectInstruction) {
                    return childInstruction;
                  }
                  instruction.child = childInstruction;
                  return instruction;
                }
                if (candidate is RedirectMatch) {
                  var instruction = this.generate(candidate.redirectTo,
  