public static <L extends List<T>, T> List<T> unmodifiableList(final L list) {
        return list != null
                ? Collections.unmodifiableList(list)
                : Collections.emptyList();
    }
Returns an unmodifiable view of the passed list if it is non-null else returns an immutable empty list.
stroom-util-shared/src/main/java/stroom/util/shared/NullSafe.java