Javaにはdelegateがないからgenericsもまともに活用できない