>>315 validate が boolean を返しちゃイカンだろ。
エラーの数を返すとか、エラーがあったら例外をスローするとか、
戻り値はvoidにして渡された引数(Collection)にエラーを登録するとか。