Example #1
0
 private void  Initialize(IndexReader[] subReaders, bool closeSubReaders)
 {
     // Deep copy
     this.subReaders = subReaders.ToArray();
     starts = new int[subReaders.Length + 1]; // build starts array
     decrefOnClose = new bool[subReaders.Length];
     for (int i = 0; i < subReaders.Length; i++)
     {
         starts[i] = maxDoc;
         maxDoc += subReaders[i].MaxDoc; // compute maxDocs
         
         if (!closeSubReaders)
         {
             subReaders[i].IncRef();
             decrefOnClose[i] = true;
         }
         else
         {
             decrefOnClose[i] = false;
         }
         
         if (subReaders[i].HasDeletions)
             hasDeletions = true;
     }
     starts[subReaders.Length] = maxDoc;
 }