public static <TT> CollectionLiveData<TT, Set<TT>> set(@NonNull final Supplier<Set<TT>> supplier) {
        return new CollectionLiveData<>(supplier, Collections::unmodifiableSet);
    }
A data holder class whose content is a collection. Provides methods to safely read and write to this collection
avoiding concurrent-access-exceptions. Also, write access will notify consumers

@param <T> The type of data held by the collection in this instance
@param <C> The type of collection
main/src/main/java/cgeo/geocaching/utils/livedata/CollectionLiveData.java