public DeserializationOptions(IDictionary<Type, Dictionary<string, Action<object, EventReader>>> overrides, IDictionary<string, Type> mappings)
        {
            var overrideList = from over in overrides
                               from prop in over.Value
                               select new DeserializationOverride(over.Key, prop.Key, prop.Value);

            this.overrides = new DeserializationOverrides(overrideList);
            this.mappings = new TagMappings(mappings);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeserializationOptions"/> class.
 /// </summary>
 /// <param name="overrides">The overrides.</param>
 /// <param name="mappings">The mappings.</param>
 public DeserializationOptions(IEnumerable<DeserializationOverride> overrides, IDictionary<string, Type> mappings)
 {
     this.overrides = new DeserializationOverrides(overrides);
     this.mappings = new TagMappings(mappings);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeserializationOptions"/> class.
 /// </summary>
 public DeserializationOptions()
 {
     overrides = new DeserializationOverrides();
     mappings = new TagMappings();
 }