docs: public void setMaxPageSize(final int maxPageSize) {
  		if (maxPageSize <= 0) {
  			throw new IllegalArgumentException("Parameter maxPageSize must be greater than zero.");
  		}
  		if (this.maxPageSize == maxPageSize) {
  			return;
  		}
  		int oldMaxPageSize = this.maxPageSize;
  		setMaxPageSizeWithoutPageChanges(maxPageSize);
  
  		int rowCount = getRowCount();
  		if (rowCount > 0) {
  			if (maxPageSize > oldMaxPageSize) {
  				schedule(dataOffset);
  			} else if (data.size() > maxPageSize) {
  				final List<T> shrunkData = data.subList(0, maxPageSize);
  
  				EventQueue.invokeLater(new Runnable() {
  
  					@Override
  					public void run() {
  						setData(dataOffset, new ArrayList<>(shrunkData));
  					}
  				});
  			}
  		}
  
  	}