/// <summary>
        /// Visits the given <paramref name="baselineNode"/>.
        /// </summary>
        /// <param name="baselineNode"></param>
        public override void Visit(IBaselineNode baselineNode)
        {
            textWriter.Write("baseline");

            WriteProperties(baselineNode);
            VisitBlock(baselineNode);
        }
        /// <summary>
        /// Writes this instance to specified writer.
        /// </summary>
        public static void Write(BinaryWriter writer, IBaselineNode node)
        {
            Debug.Assert(writer != null);
            Debug.Assert(node != null);

            writer.WriteObjectDetached(node.ConsistentId);

            var attrs = node.Attributes;

            if (attrs != null)
            {
                writer.WriteInt(attrs.Count);

                foreach (var attr in attrs)
                {
                    writer.WriteString(attr.Key);
                    writer.WriteObjectDetached(attr.Value);
                }
            }
            else
            {
                writer.WriteInt(0);
            }
        }
 /// <summary>
 /// Visits the given <paramref name="baselineNode"/>.
 /// </summary>
 /// <param name="baselineNode"></param>
 public override void Visit(IBaselineNode baselineNode)
 {
     Visit(baselineNode.ChildNodes);
 }