public IcaLine(string propertyName, string value)
 {
     Type  = IcaLineType.Property;
     Name  = propertyName;
     Value = value;
     text  = Name + "=" + Value;
 }
            public IcaLine(string line)
            {
                text = line ?? string.Empty;

                if (text.Length == 0 || text[0] == '#' || text[0] == ';')
                {
                    Type = IcaLineType.Comment;
                    return;
                }

                if (text[0] == '[')
                {
                    Type = IcaLineType.Section;
                    Name = text.Substring(1).Trim().TrimEnd(']');
                    return;
                }

                int eqidx = text.IndexOf('=');

                if (eqidx != -1)
                {
                    Type  = IcaLineType.Property;
                    Name  = text.Substring(0, eqidx);
                    Value = text.Substring(eqidx + 1);
                }
                else
                {
                    Tracer.TraceInfo("IcaLine: unexpected linestyle for: " + text);
                    Type = IcaLineType.Comment;
                }
            }