internal void AddDependentProperty(object val, Enum parent)
        {
            var cache = GetPropertyCache(parent);

            var dependencyParser = new DynamicPropertyTypeParser(parent, cache, val);

            AddParameter(parent, cache, dependencyParser.ParseValue());
        }
        internal void AddDependentProperty(object val, Enum parent)
        {
            var info = GetPropertyInfo(parent);

            var dependencyParser = new DynamicPropertyTypeParser(parent, info, val);

            AddParameter(parent, info, dependencyParser.ParseValue());
        }
        void AddValue(DynamicPropertyTypeParser parser)
        {
            var val = parser.ParseValue();

            AddParameter(parser.Property, parser.Cache, val);

            var secondaryPropertyAttrib = parser.Property.GetEnumAttribute <SecondaryPropertyAttribute>();

            if (secondaryPropertyAttrib != null)
            {
                if (parser.Value is IMultipleSerializable)
                {
                    var val2 = ((IMultipleSerializable)parser.Value).GetSerializedFormats().Last();

                    CustomParameters.Add(new CustomParameter($"{secondaryPropertyAttrib.Name}_", val2));
                }
            }
        }