/**
  * Sets the key under which the object to be downloaded is stored. Returns this {@link
  * GetObjectRequest}, enabling additional method calls to be chained together.
  *
  * @param key The key under which the object to be downloaded is stored.
  * @return This {@link GetObjectRequest}, enabling additional method calls to be chained together.
  * @see GetObjectRequest#getKey()
  * @see GetObjectRequest#setKey(String)
  */
 public GetObjectRequest withKey(String key) {
   setKey(key);
   return this;
 }
 /**
  * Constructs a new {@link GetObjectRequest} with all the required parameters.
  *
  * @param bucketName The name of the bucket containing the desired object.
  * @param key The key in the specified bucket under which the object is stored.
  * @param versionId The Amazon S3 version ID specifying a specific version of the object to
  *     download.
  * @see GetObjectRequest#GetObjectRequest(String, String)
  */
 public GetObjectRequest(String bucketName, String key, String versionId) {
   setBucketName(bucketName);
   setKey(key);
   setVersionId(versionId);
 }