anchor.diff:  ;
   
   { TDataSetWriterJSON }
  +
  +class procedure TDataSetWriterJSON.WriteDataSet(const ADataSet: TValue;
  +  const AMediaType: TMediaType; AOutputStream: TStream;
  +  const AActivation: IMARSActivation);
  +var
  +  LWriter: TDataSetWriterJSON;
  +begin
  +  LWriter := TDataSetWriterJSON.Create;
  +  try
  +    LWriter.WriteTo(ADataSet, AMediaType, AOutputStream, AActivation);
  +  finally
  +    LWriter.Free;
  +  end;
  +end;
   
   procedure TDataSetWriterJSON.WriteTo(const AValue: TValue; const AMediaType: TMediaType;
     AOutputStream: TStream; const AActivation: IMARSActivation);
  
positive.code:   [Produces(TMediaType.APPLICATION_XML)]
    TDataSetWriterXML = class(TInterfacedObject, IMessageBodyWriter)
      procedure WriteTo(const AValue: TValue; const AMediaType: TMediaType;
        AOutputStream: TStream; const AActivation: IMARSActivation);
    end;
  
  
negative.code: end;
  
  { TDataSetWriterXML }
  
  class procedure TDataSetWriterXML.WriteDataSet(const ADataSet: TValue;
    const AMediaType: TMediaType; AOutputStream: TStream;
    const AActivation: IMARSActivation);
  var
    LWriter: TDataSetWriterXML;
  begin
    LWriter := TDataSetWriterXML.Create;
    try
      LWriter.WriteTo(ADataSet, AMediaType, AOutputStream, AActivation);
    finally
      LWriter.Free;
    end;
  end;
  
  procedure TDataSetWriterXML.WriteTo(const AValue: TValue; const AMediaType: TMediaType;
    AOutputStream: TStream; const AActivation: IMARSActivation);
  