public override Task <Tuple <bool, INuGetResource> > TryCreate(SourceRepository source, CancellationToken token)
        {
            INuGetResource resource = null;

            Uri uri = source.PackageSource.TrySourceAsUri;

            if (uri == null || uri.IsFile)
            {
                if (Directory.Exists(source.PackageSource.Source)
                    &&
                    Directory.EnumerateFiles(source.PackageSource.Source, "*.nupkg").Any())
                {
                    return(Task.FromResult(Tuple.Create(false, resource)));
                }

                resource = new LocalV3FindPackageByIdResource(source.PackageSource);
                return(Task.FromResult(Tuple.Create(true, resource)));
            }

            return(Task.FromResult(Tuple.Create(false, resource)));
        }
        public override Task<Tuple<bool, INuGetResource>> TryCreate(SourceRepository source, CancellationToken token)
        {
            INuGetResource resource = null;

            Uri uri;
            if (!Uri.TryCreate(source.PackageSource.Source, UriKind.Absolute, out uri)
                ||
                !uri.IsFile)
            {
                return Task.FromResult(Tuple.Create(false, resource));
            }

            if (Directory.Exists(source.PackageSource.Source)
                &&
                Directory.EnumerateFiles(source.PackageSource.Source, "*.nupkg").Any())
            {
                return Task.FromResult(Tuple.Create(false, resource));
            }

            resource = new LocalV3FindPackageByIdResource(source.PackageSource);
            return Task.FromResult(Tuple.Create(true, resource));
        }