private static Class getCaller() {
        StackTraceElement[] stes = new Throwable().getStackTrace();
        try {
            for (int i = 1; i < stes.length; i++) {
                StackTraceElement ste = stes[i];
                if (!ste.getClassName().equals(PluginConfig.class.getName())) {
                    return Class.forName(ste.getClassName());
                }
            }
        } catch (Exception e) {
            throw new RuntimeException("plugin configuration reading failure - failed to get the caller", e);
        }
        throw new RuntimeException("plugin configuration reading failure - failed to get the caller");
    }
private static Class getCaller ( ) { StackTraceElement [ ] stes = new Throwable ( ) . getStackTrace ( ) ; try { for ( int i = 1 ; i < stes . length ; i ++ ) { StackTraceElement ste = stes [ i ] ; if ( ! ste . getClassName ( ) . equals ( PluginConfig . class . getName ( ) ) ) { return Class . forName ( ste . getClassName ( ) ) ; } } } catch ( Exception e ) { throw new RuntimeException ( "plugin configuration reading failure - failed to get the caller" , e ) ; } throw new RuntimeException ( "plugin configuration reading failure - failed to get the caller" ) ; }
@deprecated pool performance, use {@link #getCallerUsingSunReflection()} instead.