public <T> T wrapInUnchecked(Exception exception, BiFunction<String, Exception, RuntimeException> uncheckedWrapper, String errorMessage, Object... messageParams) {
    logAndThrow(msg -> uncheckedWrapper.apply(msg, exception), errorMessage, messageParams);
    return null; // unreachable
  }
Wraps {@code exception} in an unchecked exception created by {@code uncheckedWrapper}, and always throws the unchecked exception.
@return null to make the compiler happy
ambari-server/src/main/java/org/apache/ambari/server/utils/LoggingPreconditions.java