docs: private ListMultipartUploadsResult listIncompleteUploads(String bucketName, String keyMarker, String uploadIdMarker,
                                                             String prefix, String delimiter, int maxUploads)
      throws InvalidBucketNameException, NoSuchAlgorithmException, InsufficientDataException, IOException,
             InvalidKeyException, NoResponseException, XmlPullParserException, ErrorResponseException,
             InternalException {
      if (maxUploads < 0 || maxUploads > 1000) {
        maxUploads = 1000;
      }
  
      Map<String,String> queryParamMap = new HashMap<>();
      queryParamMap.put("uploads", "");
      queryParamMap.put("max-uploads", Integer.toString(maxUploads));
  
      if (prefix != null) {
        queryParamMap.put("prefix", prefix);
      } else {
        queryParamMap.put("prefix", "");
      }
  
      if (delimiter != null) {
        queryParamMap.put("delimiter", delimiter);
      } else {
        queryParamMap.put("delimiter", "");
      }
  
      if (keyMarker != null) {
        queryParamMap.put("key-marker", keyMarker);
      }
  
      if (uploadIdMarker != null) {
        queryParamMap.put("upload-id-marker", uploadIdMarker);
      }
  
      HttpResponse response = executeGet(bucketName, null, null, queryParamMap);
  
      ListMultipartUploadsResult result = new ListMultipartUploadsResult();
      result.parseXml(response.body().charStream());
      response.body().close();
      return result;
    }