protected function applyRepositoryContext(
        ModelRepositoryInterface $repository = null,
        ModelInformationInterface $information = null
    ) {
        $repository  = $repository  ?: call_user_func([ $this, 'getModelRepository' ]);
        $information = $information ?: call_user_func([ $this, 'getModelInformation' ]);

        $this->prepareRepositoryContextStrategy($repository, $information)
             ->disableGlobalScopes($repository, $information)
             ->applyIncludesToRepository($repository, $information);

        return $this;
    }