docs: public ListObjectsResponse listObjects(ListObjectsRequest request) {
          checkNotNull(request, "request should not be null.");
  
          InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET);
          if (request.getPrefix() != null) {
              internalRequest.addParameter("prefix", request.getPrefix());
          }
          if (request.getMarker() != null) {
              internalRequest.addParameter("marker", request.getMarker());
          }
          if (request.getDelimiter() != null) {
              internalRequest.addParameter("delimiter", request.getDelimiter());
          }
          if (request.getMaxKeys() >= 0) {
              internalRequest.addParameter("maxKeys", String.valueOf(request.getMaxKeys()));
          }
  
          ListObjectsResponse response = this.invokeHttpClient(internalRequest, ListObjectsResponse.class);
  
          response.setBucketName(request.getBucketName());
          List<BosObjectSummary> contents = response.getContents();
          for (BosObjectSummary object : contents) {
              object.setBucketName(request.getBucketName());
          }
  
          return response;
      }