Wicket 作成した Panel の中のListView に置いた Form field の数

ページに、配置する Panel を作り、Panel の中に、ListView を配置して、
ListView で、フォームフィールドのコンポーネントを用意したときで、ListView の行数が可変の場合、
submit した時、行数を求めるのは、どうしたらいいか悩む。

そこで、考えたのが、、、

getRequestCycle() → getPostParameters() → getParameterNames() → Stream で ListView を探して
インデックスの Max を求める。。。

int listvewSize = getRequestCycle().getRequest().getPostParameters().getParameterNames()
.stream()
.filter(e->e.startsWith("panel:listview:"))
.map(e->e.replace("panel:listview:", "").split(":")[0])
.mapToInt(e->new Integer(e))
.max().orElse(-1) + 1;

これで、ListView が増えたり減ったりした後でもサイズを求めて適切に処理できる。