public void append(int key, E value) {if (mSize != 0 && key <= mKeys[mSize - 1]) {put(key, value);return;}if (mGarbage && mSize >= mKeys.length) {gc();}int pos = mSize;if (pos >= mKeys.length) {int n = ArrayUtils.idealIntArraySize(pos + 1);int[] nkeys = new int[n];Object[] nvalues = new Object[n];System.arraycopy(mKeys, 0, nkeys, 0, mKeys.length);System.arraycopy(mValues, 0, nvalues, 0, mValues.length);mKeys = nkeys;mValues = nvalues;}mKeys[pos] = key;mValues[pos] = value;mSize = pos + 1;}

public virtual void append(int key, E value){if (mSize != 0 && key <= mKeys[mSize - 1]){put(key, value);return;}if (mGarbage && mSize >= mKeys.Length){gc();}int pos = mSize;if (pos >= mKeys.Length){int n = android.util.@internal.ArrayUtils.idealIntArraySize(pos + 1);int[] nkeys = new int[n];object[] nvalues = new object[n];System.Array.Copy(mKeys, 0, nkeys, 0, mKeys.Length);System.Array.Copy(mValues, 0, nvalues, 0, mValues.Length);mKeys = nkeys;mValues = nvalues;}mKeys[pos] = key;mValues[pos] = value;mSize = pos + 1;}
