private void throwShouldBePresentErrorWithCauseIfPresent( final Throwable timeout, final String defaultMessage) { String timeoutMessage = (timeout.getCause() != null) ? timeout.getCause().getMessage() : timeout.getMessage(); String finalMessage = (StringUtils.isNotEmpty(timeoutMessage)) ? timeoutMessage : defaultMessage; throw new ElementShouldBePresentException(finalMessage, timeout); }