code: public static String getExceptionCause(final Exception exception) {
  		if (exception == null) {
  			return "";
  		}
  
  		final StringBuilder cause = new StringBuilder();
  		Throwable nestedException = (Throwable) exception;
  		while (nestedException != null) {
  			cause.append("Caused by: ").append(nestedException.toString()).append(" ");
  			nestedException = getInnerException(nestedException);
  		}
  
  		return cause.toString();
  	}
docs: Get a string that represent the "caused by" of the exception
  
  @param exception
  - (nested) exception to be dig
  @return A string of the "caused by" of the exception