public Snippet(ISnippetHeader header, ISnippetCode code)
 {
     _header = header;
       _code = code;
       _literals = new ObservableCollection<ISnippetLiteral>();
 }
        private void parseSnippetHeader(XElement headerNode, ISnippetHeader header)
        {
            XElement titleNode = headerNode.Element(getXName("Title"));
              XElement authorNode = headerNode.Element(getXName("Author"));
              XElement shortcutNode = headerNode.Element(getXName("Shortcut"));
              XElement descriptionNode = headerNode.Element(getXName("Description"));
              XElement typesNode = headerNode.Element(getXName("SnippetTypes"));

              header.Title = titleNode.Value;
              header.Author = authorNode.Value;
              header.Shortcut = shortcutNode.Value;
              header.Description = descriptionNode.Value;
              foreach (var element in typesNode.Elements())
              {
            SnippetType snippetType = (SnippetType)Enum.Parse(typeof(SnippetType), element.Value);
            header.SnippetTypes.Add(snippetType);
              }
        }