internal void transformToXml(AdressedCapture c, XmlWriter w, int depth) {
     if (depth == 20)
         return;
     w.WriteStartElement(c.NormalName);
     if (UseLocation){
         w.WriteAttributeString("s_", c.Start.ToString());
         w.WriteAttributeString("e_", c.End.ToString());
     }
     if (c.UseAsAttribute)
         w.WriteAttributeString("a", "+");
     if (c.GroupInCollection)
         w.WriteAttributeString("c", "+");
     if (c.Childs.Count == 0 || c.UseAlwaysWithValue)
         w.WriteString(c.Value);
     foreach (var c_ in c.Childs) transformToXml(c_, w, depth + 1);
     w.WriteEndElement();
 }
 public bool Contains(AdressedCapture c){
     if (Start > c.Start)
         return false;
     if (End < c.End)
         return false;
     if (Outer && (!c.Outer)) return true;
     if (Inner && (!c.Inner)) return false;
     if (Number > c.Number) return false;
     return true;
 }
 internal void transformToXml(AdressedCapture c, XmlWriter w){
     transformToXml(c, w, 0);
 }