[Originals Snipped] IMHO the bigger question is where you set the boundary for 'trusted' code.
It's really the 'public' APIs and services/modules that should ensure all arugments are valid before proceeding. The inner workings of Geronimo should really be able to trust that it's being invoked correctly - it becomes a DbC issue (adding @pre, @post, etc javadoc tags might be an idea). Whilst i'm sure in the early days of development/integration adding IAE everywhere will speed up fault diagnosis there is a potential that performance will suffer down the road. Jem....
