public void Add(ValueIndexPair e)
{
// bubble up:
int where = _currentSize + 1; // new last place
while (e.CompareTo(_theArray[Parent(where)]) > 0)
{
_theArray[where] = _theArray[Parent(where)];
where = Parent(where);
}
_theArray[where] = e;
_currentSize++;
}