Prior to Java 9, access to the thread stack frames was limited to an internal class
sun.reflect.Reflection. Specifically the method
sun.reflect.Reflection::getCallerClass. Some libraries relies on this method which is deprecated.
An alternative standard API is now provided in JDK 9 via the
java.lang.StackWalker class, and is designed to be efficient by allowing lazy access to the stack frames. Some applications may use this API to traverse the execution stack and filter on classes.