/// <summary>
        /// Добавление найденной сущности в список выделенных сущностей.
        /// Если сущность пересекается с одной или несколькими ранее выделенными сущностями,
        /// то выбирается более длинная цепочка
        /// </summary>
        /// <param name="mainEntity">родительская сущность</param>
        /// <param name="match">найденное соответствие</param>
        /// <param name="type">тип сущности</param>
        /// <param name="entitiesWithCurrentTypeToAdd">сущности текущего типа, подлежащие добавлению в mainEntity</param>
        /// <returns></returns>
        private void AddNewEntity(SimpleEntity mainEntity, Match match, string type, List <SimpleEntity> entitiesWithCurrentTypeToAdd)
        {
            Group valueGroup = SimpleEntityResource.GetValueGroup(match);

            SimpleEntity        entity        = new SimpleEntity(valueGroup.Value, valueGroup.Index, type);
            List <SimpleEntity> intersections = GetIntersections(mainEntity, entity);

            if (IsNeedAddEntity(entity, intersections))
            {
                foreach (SimpleEntity intersectEntity in intersections)
                {
                    mainEntity.Children.Remove(intersectEntity);
                }
                entitiesWithCurrentTypeToAdd.Add(entity);
                //mainEntity.AddChild(entity);
            }
        }
 public SimpleEntitySelector(string path)
 {
     _expressions = new SimpleEntityResource(path, "entity.xml");
 }
 public SimpleEntitySelector(string path, string fileName)
 {
     _expressions = new SimpleEntityResource(path, fileName);
 }