else {  nsOutlinerRange* newRange = new nsOutlinerRange(mSelection, aIndex + 1, mMax); newRange->Connect(this, mNext); mMax = aIndex - 1; }
  void Remove(PRInt32 aIndex) {    if (aIndex >= mMin && aIndex <= mMax) {      // We have found the range that contains us.      if (mMin == mMax) {        // Delete the whole range.        if (mPrev)          mPrev->mNext = mNext;        if (mNext)          mNext->mPrev = mPrev;        nsOutlinerRange* first = mSelection->mFirstRange;        if (first == this)          mSelection->mFirstRange = mNext;        mNext = mPrev = nsnull;        delete this;      }      else if (aIndex == mMin)        mMin++;      else if (aIndex == mMax)        mMax--;    }    else if (mNext)      mNext->Remove(aIndex);  };