public List reverse()
{
modify();
object[] m_values = this.m_values;
int m_size = this.m_size;
int mid = m_size/2;
for (int i=0; i<mid; i++)
{
object a = m_values[i];
object b = m_values[m_size-i-1];
m_values[i] = b;
m_values[m_size-i-1] = a;
}
return this;
}