anchor.diff:        case _PostAnchorField.ActionNumber:
           return wrappedNode.actionNumber;
         case _PostAnchorField.BuilderOptions:
  -        return serializer._assetIdToId[wrappedNode.builderOptionsId];
  +        return serializer.findAssetIndex(wrappedNode.builderOptionsId,
  +            from: wrappedNode.id, field: 'builderOptions');
         case _PostAnchorField.PreviousInputsDigest:
           return _serializeDigest(wrappedNode.previousInputsDigest);
         case _PostAnchorField.PrimaryInput:
           return wrappedNode.primaryInput != null
  -            ? serializer._assetIdToId[wrappedNode.primaryInput]
  +            ? serializer.findAssetIndex(wrappedNode.primaryInput,
  +                from: wrappedNode.id, field: 'primaryInput')
               : null;
         default:
           throw RangeError.index(index, this);
  
positive.code:         return globNode.glob.pattern;
        case _GlobField.Results:
          return globNode.results
              .map((id) => serializer._assetIdToId[id])
              .toList(growable: false);
        default:
          throw RangeError.index(index, this);
  
negative.code:         }
          break;
        case _AssetField.Id:
          return serializer.findAssetIndex(node.id, from: node.id, field: 'id');
        case _AssetField.Outputs:
          return node.outputs
              .map((id) =>
                  serializer.findAssetIndex(id, from: node.id, field: 'outputs'))
              .toList(growable: false);
        case _AssetField.PrimaryOutputs:
          return node.primaryOutputs
              .map((id) => serializer.findAssetIndex(id,
                  from: node.id, field: 'primaryOutputs'))
              .toList(growable: false);
        case _AssetField.Digest:
          return _serializeDigest(node.lastKnownDigest);
        case _AssetField.DeletedBy:
          return node.deletedBy
              .map((id) => serializer.findAssetIndex(id,
                  from: node.id, field: 'deletedBy'))
              .toList(growable: false);
        default:
          throw RangeError.index(index, this);
  