public static <T> Optional<T> firstNonNull(final T... vals) {
        if (vals != null) {
            for (final T val : vals) {
                if (val != null) {
                    return Optional.of(val);
                }
            }
        }
        return Optional.empty();
    }
Return first non-null value or an empty {@link Optional} if all are null
<p>
Alias for {@link NullSafe#coalesce(T[])}
stroom-util-shared/src/main/java/stroom/util/shared/NullSafe.java