anchor.diff:  
               var numKeyedProperties = reader.readVarUint();
               for (int k = 0; k < numKeyedProperties; k++) {
  -              var keyedProperty = readRuntimeObject<KeyedProperty>(reader);
  +              var keyedProperty = _readRuntimeObject<KeyedProperty>(reader);
                 if (keyedProperty == null) {
                   continue;
                 }
  
positive.code: 
                var numKeyframes = reader.readVarUint();
                for (int l = 0; l < numKeyframes; l++) {
                  var keyframe = readRuntimeObject<KeyFrame>(reader);
                  if (keyframe == null) {
                    continue;
                  }
  
negative.code:     var reader = BinaryReader(bytes);
      _header = RuntimeHeader.read(reader);
  
      // Read property fields toc.
      final indexToField = <CoreFieldType>[
        RiveCoreContext.uintType,
        RiveCoreContext.stringType,
        RiveCoreContext.doubleType,
        RiveCoreContext.colorType
      ];
  
      var propertyKeys = <int>[];
      for (int propertyKey = reader.readVarUint();
          propertyKey != 0;
          propertyKey = reader.readVarUint()) {
        propertyKeys.add(propertyKey);
      }
      int currentInt = 0;
      int currentBit = 8;
      for (final propertyKey in propertyKeys) {
        if (currentBit == 8) {
          currentInt = reader.readUint32();
          currentBit = 0;
        }
        int fieldIndex = (currentInt >> currentBit) & 3;
        if (fieldIndex < 0 || fieldIndex >= indexToField.length) {
          throw RiveFormatErrorException('unexpected field index $fieldIndex');
        }
  
        _propertyToField[propertyKey] = indexToField[fieldIndex];
        currentBit += 2;
      }
  
      _backboard = _readRuntimeObject<Backboard>(reader);
      if (_backboard == null) {
        throw const RiveFormatErrorException(
            'expected first object to be a Backboard');
  