/// <summary>
        ///
        /// </summary>
        /// <param name="parser"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public object ReadYaml(IParser parser, Type type)
        {
            var scalar = (YamlDotNet.Core.Events.Scalar)parser.Current;
            var value  = scalar.Value;

            if (string.IsNullOrWhiteSpace(value))
            {
                parser.MoveNext();
                return(null);
            }

            var values = value
                         .Split(delimiter, StringSplitOptions.RemoveEmptyEntries)
                         .Select(s => int.Parse(s))
                         .ToArray();

            Require.That <InvalidDataException>(values.Length == 3,
                                                "Must have exactly three values to convert to a KerningPairModel object.");

            var result = new KerningPairModel {
                First = values[0], Second = values[1], Amount = values[2]
            };

            parser.MoveNext();
            return(result);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="emitter"></param>
        /// <param name="value"></param>
        /// <param name="type"></param>
        public void WriteYaml(IEmitter emitter, object value, Type type)
        {
            KerningPairModel kp = (KerningPairModel)value;

            emitter.Emit(new YamlDotNet.Core.Events.Scalar(
                             null,
                             null,
                             $"{kp.First} {kp.Second} {kp.Amount}",
                             ScalarStyle.Plain,
                             true,
                             false
                             ));
        }