public void balance() {int i = 0, n = length;String[] k = new String[n];char[] v = new char[n];Iterator iter = new Iterator();while (iter.hasMoreElements()) {v[i] = iter.getValue();k[i++] = iter.nextElement();}init();insertBalanced(k, v, 0, n);}

public virtual void Balance(){int i = 0, n = m_length;string[] k = new string[n];char[] v = new char[n];Iterator iter = new Iterator(this);while (iter.MoveNext()){v[i] = iter.Value;k[i++] = iter.Current;}Init();InsertBalanced(k, v, 0, n);}
