anchor.diff:    Result := r.Name;
   end;
   
  -class function TSuperRttiContext.GetFieldDisabled(r: TRttiField): boolean;
  +class function TSuperRttiContext.GetFieldIgnore(r: TRttiField): boolean;
   var
     o: TCustomAttribute;
   begin
     for o in r.GetAttributes do
       if o is SOIgnore then
  +      Exit(True);
  +  Result := false;
  +end;
  +
  +class function TSuperRttiContext.GetFieldIgnoreSerialize(r: TRttiField): boolean;
  +var
  +  o: TCustomAttribute;
  +begin
  +  for o in r.GetAttributes do
  +    if (o is SOIgnore) or (o is SOIgnoreSerialize) then
         Exit(True);
     Result := false;
   end;
  
positive.code: {$ELSE}
        v := f.GetValue(TValueData(Value).FValueData.GetReferenceToRawData);
  {$ENDIF}
        if GetFieldDisabled(f) then
            continue;
        Result.AsObject[GetFieldName(f)] := ToJson(v, index);
      end;
    end;
  
negative.code:   SOName = class(TSuperAttribute);
    SODefault = class(TSuperAttribute);
    SOIgnore = class(TCustomAttribute);
    SOIgnoreSerialize = class(TCustomAttribute);
  
    TSuperRttiContext = class
    private
      class function GetFieldName(r: TRttiField): string;
      class function GetFieldDefault(r: TRttiField; const obj: ISuperObject): ISuperObject;
      class function GetFieldIgnore(r: TRttiField): boolean;
      class function GetFieldIgnoreSerialize(r: TRttiField): boolean;
    public
      Context: TRttiContext;
      SerialFromJson: TDictionary<PTypeInfo, TSerialFromJson>;
  