static @Nullable Throwable extractThrowable(
            @Nullable final String[] keys, 
            @Nullable final Object[] values) {
        final int keyLength = keys == null ? 0 : keys.length;
        if (values != null && values.length == keyLength + 1) {
            final int throwableIndex = values.length - 1;
            if (values[throwableIndex] instanceof Throwable) {
                return (Throwable) values[throwableIndex];
            }
        }
        return null;
    }
static @Nullable Throwable extractThrowable(
            @Nullable final String[] keys, 
            @Nullable final Object[] values) {
        final int keyLength = keys == null ? 0 : keys.length;
        if (values != null && values.length == keyLength + 1) {
            final int throwableIndex = values.length - 1;
            if (values[throwableIndex] instanceof Throwable) {
                return (Throwable) values[throwableIndex];
            }
        }
        return null;
    }
static @ Nullable Throwable extractThrowable ( @ Nullable final String [ ] keys , @ Nullable final Object [ ] values ) { final int keyLength = keys == null ? 0 : keys . length ; if ( values != null && values . length == keyLength + 1 ) { final int throwableIndex = values . length - 1 ; if ( values [ throwableIndex ] instanceof Throwable ) { return ( Throwable ) values [ throwableIndex ] ; } } return null ; }
/* package private
/ * package private