// Tested manually.
        public void Execute(IRippleStepRunner runner)
        {
            string packageFolder;

            try
            {
                packageFolder = _destination.NugetFolderFor(_nuget);
            }
            catch (ArgumentOutOfRangeException exc)
            {
                RippleLog.Error(ToString(), exc);
                throw;
            }

            runner.CleanDirectory(packageFolder);
            _nuget.PublishedAssemblies.Each(x =>
            {
                var request = new FileCopyRequest {
                    From     = x.Directory,
                    Matching = new FileSet {
                        Include = x.Pattern
                    },
                    To = packageFolder.AppendPath(x.SubFolder.Replace('/', Path.DirectorySeparatorChar))
                };

                runner.CopyFiles(request);
            });
        }