Object[] (@NotNull Throwable throwable) { // the JVM blocks access to Throwable.backtrace via reflection sometimes Object backtrace; try { backtrace = BACKTRACE_FIELD != null ? BACKTRACE_FIELD.get(throwable) : null; } catch (Throwable e) { return null; } // obsolete jdk return backtrace instanceof Object[] ? (Object[])backtrace : null; }