/// <summary>
        /// Get a match
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public override Records.Match Get(Guid id)
        {
            MatchRow row = DataModel.Match.MatchKey.Find(id);

            Records.Match record = new Records.Match();

            if (row != null)
            {
                row.AcquireReaderLock(DataModelTransaction.Current);
                record.BlotterId     = row.BlotterId;
                record.ContraMatchId = row.ContraMatchId;
                record.ContraOrderId = row.ContraOrderId;
                record.HeatIndex     = row.HeatIndex;
                if (row.IsHeatIndexDetailsNull() == false)
                {
                    record.HeatIndexDetails = row.HeatIndexDetails;
                }
                record.MatchedTime    = row.MatchedTime;
                record.RowId          = row.MatchId;
                record.RowVersion     = row.RowVersion;
                record.StatusCodeId   = row.StatusId;
                record.WorkingOrderId = row.WorkingOrderId;
                row.ReleaseLock(DataModelTransaction.Current.TransactionId);
            }
            return(record);
        }