docs: boolean updateSettings(List<Http2Setting> settings) {
          for (Http2Setting setting : settings) {
              if (setting.getId() == Http2Setting.SETTINGS_INITIAL_WINDOW_SIZE) {
                  synchronized (flowControlLock) {
                      int old = initialSendWindowSize;
                      if (setting.getValue() > Integer.MAX_VALUE) {
                          sendGoAway(ERROR_FLOW_CONTROL_ERROR);
                          return false;
                      }
                      initialSendWindowSize = (int) setting.getValue();
                  }
  
              } else if (setting.getId() == Http2Setting.SETTINGS_MAX_FRAME_SIZE) {
                  if(setting.getValue() > MAX_FRAME_SIZE || setting.getValue() < DEFAULT_MAX_FRAME_SIZE) {
                      UndertowLogger.REQUEST_IO_LOGGER.debug("Invalid value received for SETTINGS_MAX_FRAME_SIZE " + setting.getValue());
                      sendGoAway(ERROR_PROTOCOL_ERROR);
                      return false;
                  }
                  sendMaxFrameSize = (int) setting.getValue();
              } else if (setting.getId() == Http2Setting.SETTINGS_HEADER_TABLE_SIZE) {
                  synchronized (this) {
                      encoder.setMaxTableSize((int) setting.getValue());
                  }
              } else if (setting.getId() == Http2Setting.SETTINGS_ENABLE_PUSH) {
  
                  int result = (int) setting.getValue();
                  //we allow the remote endpoint to disable push
                  //but not enable it if it has been explictly disabled on this side
                  if(result == 0) {
                      pushEnabled = false;
                  } else if(result != 1) {
                      //invalid value
                      UndertowLogger.REQUEST_IO_LOGGER.debug("Invalid value received for SETTINGS_ENABLE_PUSH " + result);
                      sendGoAway(ERROR_PROTOCOL_ERROR);
                      return false;
                  }
              } else if (setting.getId() == Http2Setting.SETTINGS_MAX_CONCURRENT_STREAMS) {
                  sendMaxConcurrentStreams = (int) setting.getValue();
              }
              //ignore the rest for now
          }
          return true;
      }