As of release 1.4, this exception has been retrofitted to conform to
the general purpose exception-chaining mechanism. The "detail exception"
that may be provided at construction time and accessed via the public
detail field is now known as the cause, and may be
accessed via the Throwable.getCause() method, as well as
the aforementioned "legacy field."