public IEnumerable <IRepository> GetRepositories(PackageOperationType packageOperationType)
        {
            //todo get repositories based on packageOperationType
            //currenly returns all available repositories
            //create package metadata provider from context
            using (var context = _repositoryContextService.AcquireContext())
            {
                var projects = _extensibleProjectLocator.GetAllExtensibleProjects();

                var localRepos = _projectManager.AsLocalRepositories(projects);

                var repos = context == SourceContext.EmptyContext ? new List <SourceRepository>()
                    : context.Repositories ?? context.PackageSources.Select(src => _repositoryContextService.GetRepository(src));

                var repositoryModelList = new List <IRepository>();

                //wrap all source repository object in repository model
                repositoryModelList.AddRange(
                    repos.Select(
                        source => CreateModelRepositoryFromSourceRepository(source)
                        ));

                repositoryModelList.AddRange(
                    localRepos.Select(
                        source => CreateModelRepositoryFromSourceRepository(source)

                        ));

                return(repositoryModelList);
            }
        }
#pragma warning restore CL0002 // Use async suffix

        public IPackageMetadataProvider InitializeMetadataProvider()
        {
            var typeFactory = TypeFactory.Default;

            //todo provide more automatic way
            //create package metadata provider from context
            using (var context = _repositoryService.AcquireContext())
            {
                if (context == SourceContext.EmptyContext)
                {
                    return(null);
                }

                var localRepos = _projectManager.AsLocalRepositories(new[]
                {
                    _projectProvider.GetDefaultProject()
                });

                var repos = context.Repositories ?? context.PackageSources.Select(src => _repositoryService.GetRepository(src));

                return(typeFactory.CreateInstanceWithParametersAndAutoCompletion <PackageMetadataProvider>(repos, localRepos));
            }
        }