public void write(final boolean forcePost, final Consumer<C> writeAction) {
        lock.writeLock().lock();
        try {
            final int sizeBefore = value.size();
            writeAction.accept(value);
            Log.d("CollectionLiveData: write action changed size: " + sizeBefore + "->" + value.size());
        } finally {
            lock.writeLock().unlock();
        }
        notifyDataChanged(forcePost);
    }
executes an Action writing to the collection. Notification is auto-executed after write
main/src/main/java/cgeo/geocaching/utils/livedata/CollectionLiveData.java