public LDLBOBase CreateItem(string[] definition, string id)
        {
            LDLBalise balise = new LDLBalise(id);
            int       nLines = definition.GetUpperBound(0);

            for (int idx = 0; idx <= nLines; idx++)
            {
                if (definition[idx].Contains(baliseType))
                {
                    string bType = ParseItem(definition[idx]);
                    if (string.Compare("FIXED_DATA", bType) == 0)
                    {
                        balise.FixedData = true;
                    }
                    else
                    {
                        balise.FixedData = false;
                    }
                }
                else if (definition[idx].Contains(isDuplicated))
                {
                    balise.DuplicateType = (BaliseDuplicateStatus)Enum.Parse(typeof(BaliseDuplicateStatus), ParseItem(definition[idx]));
                }
                else if (definition[idx].Contains(LDLMLocation.Identifier))
                {
                    balise.Location = LDLMLocation.CreateFromCompleteLine(definition[idx]);
                }
            }
            return(balise);
        }
        public LDLBOBase CreateItem(string[] definition, string id)
        {
            LDLTrackCircuitJoin toPopulate = new LDLTrackCircuitJoin(id);
            int nLines = definition.GetUpperBound(0);

            int tcID = 0;

            for (int i = 0; i <= nLines; i++)
            {
                if (definition[i].Contains(LDLTrackCircuit.Identitifier))
                {
                    toPopulate.JoinedCircuitStrs[tcID++] = ParseItem(definition[i]);
                }
                else if (definition[i].Contains(LDLMLocation.Identifier))
                {
                    toPopulate.Location = LDLMLocation.CreateFromCompleteLine(definition[i]);
                }
            }
            return(toPopulate);
        }