code: void compressOffsetArray(int i0) {
  		int i_ = i0;
  		while (m_offsetPts.get(i_).m_prev < i_)
  			i_ = m_offsetPts.get(i_).m_prev;
  
  		int j = 0, i = i_;
  
  		do {
  			GraphicPoint pt = m_offsetPts.get(i);
  			m_offsetPts.set(j, pt);
  			i = pt.m_next;
  			j++;
  		} while (i != i_);
  
  		m_offsetPts.set(j, m_offsetPts.get(0)); // duplicate closing point
  
  		m_offsetPtCount = j + 1;
  	}
docs: is, its the index of a point that isn't part of a deleted loop