public List rw()
{
if (!m_isReadonly) return this;
object[] temp = new object[m_size];
Array.Copy(m_values, temp, m_size);
List rw = new List(m_of);
rw.m_values = temp;
rw.m_size = m_size;
rw.m_isReadonly = false;
rw.m_readonlyList = this;
return rw;
}