どうでもいいことだけど、
> if (currentChoice > displaySize - 1) {
は、
> if (currentChoice > start + displaySize - 1) {
じゃないか?(勘なので間違ってるかもだが)