code: public TableKeysAndAttributes addHashAndRangePrimaryKeys(
              String hashKeyName, String rangeKeyName,
              Object ... alternatingHashRangeKeyValues) {
          if (alternatingHashRangeKeyValues.length % 2 != 0) {
              throw new IllegalArgumentException(
                  "The multiple hash and range key values must alternate");
          }
          for (int i =0; i < alternatingHashRangeKeyValues.length; i+=2) {
              Object hashKeyValue = alternatingHashRangeKeyValues[i];
              Object rangeKeyValue = alternatingHashRangeKeyValues[i+1];
              this.addPrimaryKey(
                  new PrimaryKey()
                      .addComponent(hashKeyName, hashKeyValue)
                      .addComponent(rangeKeyName, rangeKeyValue)
                  );
          }
          return this;
      }
docs: Adds multiple hash-and-range primary keys to be included in the batch
  get-item operation.
  
  @param hashKeyName
  name of the hash key attribute name
  @param rangeKeyName
  name of the range key attribute name
  @param alternatingHashRangeKeyValues
  used to specify multiple alternating hash key and range key
  values
  @return the current instance for method chaining purposes