Why is this not a runtime exception so we avoid having this leak through all API ?
Make it a runtimeexception and much less sideffects.