class PagedList extends PagerBase<Type> {

    @MainThread
    public <Key> void triggerInitialLoad(final Key initialLoadKey) {
        if (mInitialized) {
            return;
        }
        mInitialized = true;
        mBackgroundThreadExecutor.execute(new Runnable() {
            @Override
            public void run() {
                if (mInvalid.get()) {
                    return;
                }

                final List<Type> initialData =
                        mDataSource.loadAfterInitial(initialLoadKey, mConfig.mPageSize);
                if (initialData != null) {
                    mMainThreadExecutor.execute(new Runnable() {
                        @Override
                        public void run() {
                            if (mInvalid.get()) {
                                return;
                            }
                            setInitialDataAndDispatch(initialData);
                        }
                    });
                } else {
                    freeze();
                }
            }
        });
    }

    @WorkerThread public <Key> PagedList(@NonNull DataSource<Key, Type> dataSource,
            @NonNull Executor mainThreadExecutor, @NonNull Executor backgroundThreadExecutor,
            @NonNull ListConfig config);

}