code: public String presignedGetObject(String bucketName, String objectName, Integer expires)
      throws InvalidBucketNameException, NoSuchAlgorithmException, InsufficientDataException, IOException,
             InvalidKeyException, NoResponseException, XmlPullParserException, ErrorResponseException,
             InternalException, InvalidExpiresRangeException {
      return presignedGetObject(bucketName, objectName, expires, null);
    }
docs: Returns an presigned URL to download the object in the bucket with given expiry time.
  
  </p><b>Example:</b><br>
  <pre>{@code String url = minioClient.presignedGetObject("my-bucketname", "my-objectname", 60 * 60 * 24);
  System.out.println(url); }</pre>
  
  @param bucketName  Bucket name.
  @param objectName  Object name in the bucket.
  @param expires     Expiration time in seconds of presigned URL.
  
  @return string contains URL to download the object.
  
  @throws InvalidBucketNameException  upon invalid bucket name is given
  @throws NoSuchAlgorithmException
  upon requested algorithm was not found during signature calculation
  @throws InsufficientDataException  upon getting EOFException while reading given
  InputStream even before reading given length
  @throws IOException                 upon connection error
  @throws InvalidKeyException
  upon an invalid access key or secret key
  @throws NoResponseException         upon no response from server
  @throws XmlPullParserException      upon parsing response xml
  @throws ErrorResponseException      upon unsuccessful execution
  @throws InternalException           upon internal library error
  @throws InvalidExpiresRangeException upon input expires is out of range