Javaの型安全性な言語だからジェネリクスとかちょっと見じゃわからないような複雑さがあるんだろうね