code: void swap(int element1, int element2) {
  		int ar1[] = m_buffer[element1 >> m_blockPower];
  		int ar2[] = m_buffer[element2 >> m_blockPower];
  		int ind1 = element1 & m_blockMask;
  		int ind2 = element2 & m_blockMask;
  		for (int i = 0; i < m_stride; i++) {
  			int tmp = ar1[ind1 + i];
  			ar1[ind1 + i] = ar2[ind2 + i];
  			ar2[ind2 + i] = tmp;
  		}
  	}
docs: Swaps content of two elements (each field of the stride)