public static <T1, R> R getOrElse(final T1 value,
                                      final Function<T1, R> getter,
                                      final R other) {
        return requireNonNullElse(get(value, getter), other);
    }
Apply getter to value if value is non-null. If value or the result of
applying getter to value is null, return other.
stroom-util-shared/src/main/java/stroom/util/shared/NullSafe.java