private void validateArgs() {
      if (!SUPPORTED_REQUEST_TYPES.contains(requestType)) {
        throw new IllegalArgumentException("Unsupported request type: " + requestType);
      } else if (requestType.equals(POST)) {
        if (postBlobTotalSize == null || postBlobTotalSize <= 0 || postBlobChunkSize == null
            || postBlobChunkSize <= 0) {
          throw new IllegalArgumentException(
              "Total size to be posted and size of each chunk need to be specified with POST and have to be > 0");
        }
      }
      if (serviceId == null || serviceId.isEmpty()) {
        throw new IllegalArgumentException("serviceId cannot be empty");
      }
      if (targetQPS < 0) {
        throw new IllegalArgumentException("Target QPS cannot be negative value");
      }
    }
Validates the arguments given and verifies relationships b/w them if any exist.
ambry-tools/src/main/java/com/github/ambry/tools/perf/rest/NettyPerfClient.java