public LDLBOBase CreateItem(string[] definition, string id)
        {
            LDLNormalApproachTrigger trigger = new LDLNormalApproachTrigger(id);

            LDLApproachTriggerFactory.CreateTrigger(definition[0], trigger);
            return(trigger);
        }
        //aspects displayable,SUBOVERLAPS,RUNNING_TIME_TO_BERTH_TC,OVERLAP_RELEASE_TIME not used
        //er_button_latch_id,trts_latch_id,allow_routing,aws_type_and_body also omitted because they don't exist in thameslink



        public override void DoSecondPass(Dictionary <string, LDLBOBase> parsedObjects)
        {
            LDLBOBase dlocObject;

            if (!string.IsNullOrEmpty(NormalApproachStr))
            {
                parsedObjects.TryGetValue(NormalApproachStr, out dlocObject);
                NormalApproachTrigger = dlocObject as LDLNormalApproachTrigger;
            }
            if (!string.IsNullOrEmpty(ReverseApproachStr))
            {
                parsedObjects.TryGetValue(ReverseApproachStr, out dlocObject);
                ReverseApproachTrigger = dlocObject as LDLReverseApproachTrigger;
            }
            if (!string.IsNullOrEmpty(RadioBlockControLStr))
            {
                parsedObjects.TryGetValue(RadioBlockControLStr, out dlocObject);
                RadioBlockControl = dlocObject as LDLRBC;
            }
            if (!string.IsNullOrEmpty(InterlockingStr))
            {
                parsedObjects.TryGetValue(InterlockingStr, out dlocObject);
                Interlocking = dlocObject as LDLInterlocking;
            }
            if (Location != null)
            {
                Location.DoSecondPass(parsedObjects);
            }
        }