/// <summary>
 /// Creates a directory tag.
 /// 
 /// Examples :
 /// <pre>
 /// &lt;directory name="Exif"&gt;
 ///   &lt;tag&gt;
 ///     ...
 ///   &lt;/tag&gt;
 ///   &lt;tag&gt;
 ///     ...
 ///   &lt;/tag&gt;
 /// &lt;/directory&gt;
 /// </pre>
 /// </summary>
 /// <param name="aBuff">where to put info</param>
 /// <param name="aDirectory">the information to add</param>
 protected virtual void CreateDirectory(StringBuilder aBuff, AbstractDirectory aDirectory)
 {
     if (aDirectory != null)
     {
         Open(aBuff, "directory name=\"" + aDirectory.GetName() + "\"", true);
         foreach(Tag lcTag in aDirectory) {
             CreateTag(aBuff, lcTag);
         }
         Close(aBuff, "directory", true);
     }
 }
 /// <summary>
 /// Creates a directory tag.
 /// </summary>
 /// <param name="aBuff">where to put info</param>
 /// <param name="aDirectory">the information to add</param>
 protected virtual void CreateDirectory(StringBuilder aBuff, AbstractDirectory aDirectory)
 {
     if (aDirectory != null)
     {
         aBuff.Append("--| ").Append(aDirectory.GetName()).Append(" |--");
         aBuff.AppendLine();
         foreach(Tag lcTag in aDirectory) {
             CreateTag(aBuff, lcTag);
         }
     }
 }
 /// <summary>
 /// Creates a directory tag.
 /// 
 /// Examples :
 /// <pre>
 /// &lt;directory name="Exif"&gt;
 ///   &lt;tag&gt;
 ///     ...
 ///   &lt;/tag&gt;
 ///   &lt;tag&gt;
 ///     ...
 ///   &lt;/tag&gt;
 /// &lt;/directory&gt;
 /// </pre>
 /// </summary>
 /// <param name="aBuff">where to put info</param>
 /// <param name="aDirectory">the information to add</param>
 protected virtual void CreateDirectory(StringBuilder aBuff, AbstractDirectory aDirectory)
 {
     if (aDirectory != null)
     {
         this.Open(aBuff, "directory", "name", aDirectory.GetName(),"class", aDirectory.GetType(), true);
         foreach(Tag lcTag in aDirectory){
             this.CreateTag(aBuff, lcTag);
         }
         this.Close(aBuff, "directory", true);
     }
 }
 /// <summary>
 /// Creates a directory tag.
 /// 
 /// Examples :
 /// <pre>
 /// &lt;directory name="Exif"&gt;
 ///   &lt;tag&gt;
 ///     ...
 ///   &lt;/tag&gt;
 ///   &lt;tag&gt;
 ///     ...
 ///   &lt;/tag&gt;
 /// &lt;/directory&gt;
 /// </pre>
 /// </summary>
 /// <param name="aBuff">where to put info</param>
 /// <param name="aDirectory">the information to add</param>
 protected virtual void CreateDirectory(StringBuilder aBuff, AbstractDirectory aDirectory)
 {
     if (aDirectory != null)
     {
         Open(aBuff, "directory name=\"" + aDirectory.GetName() + "\"", true);
         IEnumerator<Tag> lcTagsEnum = aDirectory.GetTagIterator();
         while (lcTagsEnum.MoveNext())
         {
             Tag lcTag = lcTagsEnum.Current;
             CreateTag(aBuff, lcTag);
             lcTag = null;
         }
         Close(aBuff, "directory", true);
     }
 }
 /// <summary>
 /// Creates a directory tag.
 /// </summary>
 /// <param name="aBuff">where to put info</param>
 /// <param name="aDirectory">the information to add</param>
 protected virtual void CreateDirectory(StringBuilder aBuff, AbstractDirectory aDirectory)
 {
     if (aDirectory != null)
     {
         aBuff.Append("--| ").Append(aDirectory.GetName()).Append(" |--");
         aBuff.AppendLine();
         IEnumerator<Tag> lcTagsEnum = aDirectory.GetTagIterator();
         while (lcTagsEnum.MoveNext())
         {
             Tag lcTag = lcTagsEnum.Current;
             CreateTag(aBuff, lcTag);
             lcTag = null;
         }
     }
 }