if (indexOld < 0 || indexNew < 0 || indexOld >= _amount || indexNew >= _amount)
throw new IllegalArgumentException("Index out of bounds");
if (indexOld == indexNew)
throw new IllegalArgumentException("Arguments are equal");
Pokemon swap = _data[indexOld];
int loopUpdateDirection = (indexOld > indexNew) ? -1 : 1;
for (int i = indexOld; i != indexNew; i = i + loopUpdateDirection) {
_data[i] = _data[i + loopUpdateDirection];
}
_data[indexNew] = swap;