private void normalizeIndexes()
        {
            List<ResultIndex> result = new List<ResultIndex>();
            this.indexes = this.indexes.OrderBy(o => o.id).ToList<ResultIndex>();
            foreach (ResultIndex r1 in this.indexes)
            {
                if (r1.active == false)
                {
                   // Console.Out.WriteLine("skip");
                    continue;
                }
                r1.markAsNotActive();
                ResultIndex index = new ResultIndex(r1.id, r1.userStart, r1.userEnd, r1.dbStart, r1.dbEnd);
                foreach (ResultIndex r2 in this.indexes)
                {
                    if (r1.id == r2.id || r2.active == false)
                    {
                        //Console.Out.WriteLine("skip");
                        continue;
                    }
                    if (index.userEnd+1  >= r2.userStart &&
                        index.userStart < r2.userStart &&
                        index.dbEnd+1  >= r2.dbStart &&
                        index.dbStart < r2.dbStart)
                    {
                        index.userEnd = Math.Max(r2.userEnd, index.userEnd);
                        index.dbEnd = Math.Max(r2.dbEnd, index.dbEnd);
                        r1.userEnd = Math.Max(r2.userEnd, r1.userEnd);
                        r1.dbEnd = Math.Max(r2.dbEnd, r1.dbEnd);

                        r2.markAsNotActive();

                    }
                }

                //Console.Out.WriteLine(index.ToString());
                //Console.Out.WriteLine(userText.Substring(index.userStart, index.userEnd - index.userStart));
                //Console.Out.WriteLine(dbText.Substring(index.dbStart, index.dbEnd - index.dbStart));
                //Console.Out.WriteLine();
                result.Add(index);
            }
            this.indexes = result;
        }
 public void addIndex(ResultIndex i)
 {
     this.indexes.Add(i);
 }