Environments are especially useful in classes that can be used both standalone
(having a main method) or in an application where the class is
only one of many.
This interface should be implemented by classes derived from
java.lang.Throwable that may contain a stacked, additional or wrapped throwable.
Such cases are common when
a method implements a certain interface method that allows for a specific
throwable like IOException, but the method itself may encounter a different
throwable type like SQLException (wrapped throwable)
one application layer catches an throwable only to add its specific
information in form of another throwable (throwable stack, nested throwable
like in SQLException or MessagingException).
We provide the expected code in block comments starting with -->, terminated
by -->.