shouldn't this be an `OutOfBoundsException` ?