Call swap() instead of swapInternal()