List signedObjects = new ArrayList();
String firstDeclineReason = null;
for (int i = 0; i < signatureRequests.length; i++) {
SignatureRequest request = signatureRequests[i];
S3Object object = objects[i];
// Store summary information in XML document generator.
if (xmlGenerator != null) {
Map clonedMetadata = new HashMap();
clonedMetadata.putAll(object.getMetadataMap());
xmlGenerator.addSignatureRequest(object.getKey(), object.getBucketName(),
clonedMetadata, request);
}
if (request.isSigned()) {
// Update object with any changes dictated by Gatekeeper.
if (request.getObjectKey() != null) {
object.setKey(request.getObjectKey());
}
if (request.getBucketName() != null) {
object.setBucketName(request.getBucketName());
}
if (request.getObjectMetadata() != null && request.getObjectMetadata().size() > 0) {
object.replaceAllMetadata(request.getObjectMetadata());
}
SignedUrlAndObject urlAndObject = new SignedUrlAndObject(request.getSignedUrl(), object);
signedObjects.add(urlAndObject);
} else {