protected FieldMapping <TRevision> MergeMapping(params FieldMapping <TRevision>[] mappings)
        {
            var merged = new FieldMapping <TRevision>();

            foreach (var mapping in mappings)
            {
                foreach (var m in mapping)
                {
                    if (!merged.ContainsKey(m.Key))
                    {
                        merged[m.Key] = m.Value;
                    }
                }
            }
            return(merged);
        }