変に抽象化しすぎてかえって複雑になるってJavaワールドのお家芸だよね