anchor.diff:  {$ELSE}
           p := TValueData(Value).FValueData.GetReferenceToRawData;
   {$ENDIF}
  +        if GetFieldDisabled(f) then
  +          continue;
           Result := FromJson(f.FieldType.Handle, GetFieldDefault(f, obj.AsObject[GetFieldName(f)]), v);
           if Result then
             f.SetValue(p, v) else
  
positive.code: {$ELSE}
        v := f.GetValue(TValueData(Value).FValueData.GetReferenceToRawData);
  {$ENDIF}
        Result.AsObject[GetFieldName(f)] := ToJson(v, index);
      end;
    end;
  
negative.code: 
    SOName = class(TSuperAttribute);
    SODefault = class(TSuperAttribute);
    SODisable = class(TCustomAttribute);
  
    TSuperRttiContext = class
    private
      class function GetFieldName(r: TRttiField): string;
      class function GetFieldDefault(r: TRttiField; const obj: ISuperObject): ISuperObject;
      class function GetFieldDisabled(r: TRttiField): boolean;
    public
      Context: TRttiContext;
      SerialFromJson: TDictionary<PTypeInfo, TSerialFromJson>;
  