Generate constructor class as well.
Throw IllegalArgumentException if there are unused params.