function interfaces that accept exceptions mark all apply/get/accept etc as deprecated - they should serve only as the last resort to allow old code to accept exceptions; new code should propagate exceptions as is without wrapping them inside RuntimeException.