public new void SerializeX (Writer _Writer, bool _wrap, ref bool _first) {
if (_wrap) {
_Writer.WriteObjectStart ();
}
if (TransactionID != null) {
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("TransactionID", 1);
_Writer.WriteString (TransactionID);
}
if (PrimaryKey != null) {
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("PrimaryKey", 1);
_Writer.WriteString (PrimaryKey);
}
if (PriorTransactionID != null) {
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("PriorTransactionID", 1);
_Writer.WriteString (PriorTransactionID);
}
if (Action != null) {
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Action", 1);
_Writer.WriteString (Action);
}
if (__Added){
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Added", 1);
_Writer.WriteDateTime (Added);
}
if (Keys != null) {
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Keys", 1);
_Writer.WriteArrayStart ();
bool _firstarray = true;
foreach (var _index in Keys) {
_Writer.WriteArraySeparator (ref _firstarray);
_Writer.WriteObjectStart();
_Writer.WriteToken(_index.Tag(), 1);
bool firstinner = true;
_index.Serialize (_Writer, true, ref firstinner);
_Writer.WriteObjectEnd();
}
_Writer.WriteArrayEnd ();
}
if (Data != null) {
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Data", 1);
_Writer.WriteBinary (Data);
}
if (Text != null) {
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Text", 1);
_Writer.WriteString (Text);
}
if (__Pending){
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Pending", 1);
_Writer.WriteBoolean (Pending);
}
if (__Commit){
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Commit", 1);
_Writer.WriteBoolean (Commit);
}
if (__Rollback){
_Writer.WriteObjectSeparator (ref _first);
_Writer.WriteToken ("Rollback", 1);
_Writer.WriteBoolean (Rollback);
}
if (_wrap) {
_Writer.WriteObjectEnd ();
}
}