question: get the root cause from the exception chain . concode_field_sep String FIELD_SEPARATOR concode_field_sep String throwableToString concode_elem_sep Throwable strToThrowable
target: Throwable function ( Throwable arg0 ) { Throwable loc0 = arg0 . getCause ( ) ; int loc1 = 0 ; while ( loc0 != null && ++ loc1 < 1024 ) { arg0 = loc0 ; loc0 = arg0 . getCause ( ) ; } return arg0 ; }