class UploadMultipartArchiveCommand extends AbstractCommand {

    @Override
    public void exec(OptionSet options, GlacierUploaderOptionParser optionParser) {
        final String vaultName = options.valueOf(optionParser.vault);
        final List<File> optionsFiles = options.valuesOf(optionParser.multipartUpload);
        final Long partSize = options.valueOf(optionParser.partSize);
        final List<String> nonOptions = options.nonOptionArguments();
        final List<File> files = optionParser.mergeNonOptionsFiles(optionsFiles, nonOptions);

        for (File uploadFile : files) {
            this.upload(vaultName, uploadFile, partSize);
        }
    }

    public  UploadMultipartArchiveCommand(AmazonGlacier client, AmazonSQS sqs, AmazonSNS sns);

}