code: public void setMaxHeaderTableSize(long maxHeaderTableSize) throws Http2Exception {
          if (maxHeaderTableSize < MIN_HEADER_TABLE_SIZE || maxHeaderTableSize > MAX_HEADER_TABLE_SIZE) {
              throw connectionError(PROTOCOL_ERROR, "Header Table Size must be >= %d and <= %d but was %d",
                      MIN_HEADER_TABLE_SIZE, MAX_HEADER_TABLE_SIZE, maxHeaderTableSize);
          }
          maxDynamicTableSize = maxHeaderTableSize;
          if (maxDynamicTableSize < encoderMaxDynamicTableSize) {
              // decoder requires less space than encoder
              // encoder MUST signal this change
              maxDynamicTableSizeChangeRequired = true;
              hpackDynamicTable.setCapacity(maxDynamicTableSize);
          }
      }
docs: Set the maximum table size. If this is below the maximum size of the dynamic table used by
  the encoder, the beginning of the next header block MUST signal this change.