'java.lang.Object android.arch.lifecycle.MutableLiveData.getValue()' on a null object reference

I need to re-create DataSource when refreshing the PagedList, how and where can I do that? getvalue() method returns null.

That's how I refresh PagedList now:

public void refreshPagedList() {
        RecyclerView recyclerView = findViewById(R.id.list);
        factory.getItemLiveDataSource().getValue().invalidate();

        ItemViewModel itemViewModel = ViewModelProviders.of(MainActivity.this)
                .get(ItemViewModel.class);
        final ItemAdapter adapter = new ItemAdapter(MainActivity.this);

        itemViewModel.itemPagedList.observe(MainActivity.this,
                new Observer<PagedList<Item>>() {
                    @Override
                    public void onChanged(@Nullable PagedList<Item> items) {

                        adapter.submitList(items);

                    }
                });

        recyclerView.setAdapter(adapter);

        //DataSource has not changed
    }

What's wrong?

UPD. Here's my DataSourceFactory class:

public class ItemDataSourceFactory extends DataSource.Factory {

    public MutableLiveData<PageKeyedDataSource<Integer, Item>> itemLiveDataSource;

    @Override
    public DataSource<Integer, Item> create() {
        ItemDataSource itemDataSource = new ItemDataSource();

        itemLiveDataSource = new MutableLiveData<>();
        itemLiveDataSource.postValue(itemDataSource);

        return itemDataSource;
    }
}