public override Selector CreateSelector()
        {
            var adTerminationSelector = new BoundSelector("</tab", "le>");

            var date = new BoundExpressionGroup("Date", new BoundSelector("strup> &#8593; </a>", "</div></td>"));
            var price = new BoundExpressionGroup("Price", new BoundSelector("class=zhyofoto>", "р<br>"),
                                                     new BoundSelector("class=tprice>", "р<br>"));

            var detailUrl = new BoundExpressionGroup("DetailUrl", new BoundSelector("<A href='newflat-", "'") { StringComparison = StringComparison.OrdinalIgnoreCase });
            var rooms = new BoundExpressionGroup("Rooms", new BoundSelector("class=site3", ">", "(") { Superposition = true });

            var size = new BoundExpressionGroup("Size", new BoundSelector("(", ")"));
            var address = new BoundExpressionGroup("Address", new BoundSelector(",", ","));
            var floor = new BoundExpressionGroup("Floor", new BoundSelector("этаж", " ,"), adTerminationSelector);

            var withoutDate = new BoundExpressionGroup("C1", new BoundSelector("class=strup>", "</a> </td>"));
            var withDate = new BoundExpressionGroup("C2", new BoundSelector("class=strup>", "</div></td>"));

            return new BoundExpressionSelector("Ad", new BoundExpression(
                    new BoundExpressionCondition(
                        withoutDate, new BoundExpressionToken[]
                        {
                            price,
                            detailUrl,
                            rooms,
                            size,
                            address,
                            floor
                        },

                        withDate, new BoundExpressionToken[]
                        {
                            date,
                            price,
                            detailUrl,
                            rooms,
                            size,
                            address,
                            floor
                        }
                    )
                ));
        }
 public BoundSelectorResult(BoundSelector selector, int selectorStart, int selectorEnd, int valueStart, int valueEnd)
 {
     Selector = selector;
     SelectorRange = new StringRange(selectorStart, selectorEnd);
     ValueRange    = new StringRange(valueStart, valueEnd);
 }