public static <T1, T2, R> boolean isNull(final T1 value,
                                             final Function<T1, T2> getter1,
                                             final Function<T2, R> getter2) {
        if (value == null) {
            return true;
        } else {
            final T2 value2 = Objects.requireNonNull(getter1).apply(value);
            if (value2 == null) {
                return true;
            } else {
                return Objects.requireNonNull(getter2).apply(value2) == null;
            }
        }
    }
@return True if any of value, the result of getter1 or the result of getter2 are
null, else false.
stroom-util-shared/src/main/java/stroom/util/shared/NullSafe.java