anchor.diff:          return globNode.glob.pattern;
         case _GlobField.Results:
           return globNode.results
  -            .map((id) => serializer._assetIdToId[id])
  +            .map((id) => serializer.findAssetIndex(id,
  +                from: globNode.id, field: 'results'))
               .toList(growable: false);
         default:
           throw RangeError.index(index, this);
  
positive.code:       case _PostAnchorField.ActionNumber:
          return wrappedNode.actionNumber;
        case _PostAnchorField.BuilderOptions:
          return serializer._assetIdToId[wrappedNode.builderOptionsId];
        case _PostAnchorField.PreviousInputsDigest:
          return _serializeDigest(wrappedNode.previousInputsDigest);
        case _PostAnchorField.PrimaryInput:
          return wrappedNode.primaryInput != null
              ? serializer._assetIdToId[wrappedNode.primaryInput]
              : null;
        default:
          throw RangeError.index(index, this);
  
negative.code:       case _GeneratedField.PreviousInputsDigest:
          return _serializeDigest(generatedNode.previousInputsDigest);
        case _GeneratedField.BuilderOptions:
          return serializer.findAssetIndex(generatedNode.builderOptionsId,
              from: generatedNode.id, field: 'builderOptions');
        case _GeneratedField.IsHidden:
          return _serializeBool(generatedNode.isHidden);
        default:
  