This method is intentionally defined to be the same signature as the
java.lang.Throwable.getCause method in Java 1.4 and
greater. By defining this method to return a nested exception, the Java
1.4 runtime will print the nested stack trace.
Copyright (c) 2004,2014 Oracle. All rights reserved.