RuntimeException
is the superclass of those exceptions that can be thrown during the
normal operation of the Java Virtual Machine.
A method is not required to declare in its throws clause any
subclasses of RuntimeException that might be thrown during the execution
of the method but not caught.