docs: public ListInstancesResponse listInstances(ListInstancesRequest request) {
          checkNotNull(request, "request should not be null.");
          InternalRequest internalRequest = this.createRequest(request, HttpMethodName.GET, INSTANCE_PREFIX);
          if (request.getMarker() != null) {
              internalRequest.addParameter("marker", request.getMarker());
          }
          if (request.getMaxKeys() > 0) {
              internalRequest.addParameter("maxKeys", String.valueOf(request.getMaxKeys()));
          }
          if (!Strings.isNullOrEmpty(request.getInternalIp())) {
              internalRequest.addParameter("internalIp", request.getInternalIp());
          }
          if (!Strings.isNullOrEmpty(request.getDedicatedHostId())) {
              internalRequest.addParameter("dedicatedHostId", request.getDedicatedHostId());
          }
          if (!Strings.isNullOrEmpty(request.getZoneName())) {
              internalRequest.addParameter("zoneName", request.getZoneName());
          }
          return invokeHttpClient(internalRequest, ListInstancesResponse.class);
      }