anchor.diff:  begin
     with TVarData(value) do
     case VType of
  -    varNull:     Result := nil;
  -    varEmpty:    Result := nil;
  +    varNull:     Result := TSuperObject.Create(stNull);
  +    varEmpty:    Result := TSuperObject.Create(stNull);
       varSmallInt: Result := TSuperObject.Create(VSmallInt);
       varInteger:  Result := TSuperObject.Create(VInteger);
       varSingle:   Result := TSuperObject.Create(VSingle);
       varDouble:   Result := TSuperObject.Create(VDouble);
       varCurrency: Result := TSuperObject.CreateCurrency(VCurrency);
  +    {$IFDEF ISO8601}
  +    varDate:     Result := TSuperObject.Create(DelphiDateTimeToISO8601Date(vDate));
  +    {$ELSE}
       varDate:     Result := TSuperObject.Create(DelphiToJavaDateTime(vDate));
  +    {$ENDIF}
       varOleStr:   Result := TSuperObject.Create(SOString(VOleStr));
       varBoolean:  Result := TSuperObject.Create(VBoolean);
       varShortInt: Result := TSuperObject.Create(VShortInt);
  
positive.code: {$ENDIF}
  
  implementation
  uses sysutils, RestJsonUtils,
  {$IFDEF UNIX}
    baseunix, unix, DateUtils
  {$ELSE}
  
negative.code:         tkDynArray: FromDynArray;
          tkClassRef: FromClassRef;
        else
          FromUnknown
        end else
        begin
          TValue.Make(nil, TypeInfo, Value);
  