private List insert(int i, object val) { modify(); if (m_values.Length <= m_size) grow(m_size+1); if (i < m_size) Array.Copy(m_values, i, m_values, i+1, m_size-i); m_values[i] = val; m_size++; return this; }