/** @return first {@link #isUseful(StackTraceElement)} stack trace elements, or null */ public StackTraceElement firstUseful(StackTraceElement[] st) { return nthUseful(0, st); }
/** returns top of cleaned stack trace; usually the caller's location */ public static StackTraceElement currentStackElement() { return STACK_TRACE_SIMPLIFIER_EXCLUDING_UTIL_JAVALANG.nthUseful(0, Thread.currentThread().getStackTrace()); }
/** returns element in cleaned stack trace; usually the caller's location is at the top, * and caller of that is up one, etc */ public static StackTraceElement callerStackElement(int depth) { return STACK_TRACE_SIMPLIFIER_EXCLUDING_UTIL_JAVALANG.nthUseful(depth, Thread.currentThread().getStackTrace()); }