code: private static Throwable getInnerException(Throwable exception) {// NOPMD
  
  		final Throwable tmpException = exception;
  
  		exception = getExceptionCauseUsingWellKnownTypes(tmpException);
  		if (exception == null) {
  			for (CauseMethodName methodName : CauseMethodName.values()) {
  				exception = getExceptionCauseUsingMethodName(tmpException, methodName);
  				if (exception != null) {
  					break;
  				}
  			}
  		}
  
  		return exception;
  	}
docs: Get a one level inner exception
  
  @param exception
  @return