code: @Override
  	protected void preparePaintComponent(final Request request) {
  		super.preparePaintComponent(request);
  		if (!isInitialised()) {
  			// Setup model
  			FilterableBeanBoundDataModel model = new FilterableBeanBoundDataModel(BEAN_PROPERTIES);
  			table.setTableModel(model);
  			// Set the data as the bean on the table
  			table.setBean(ExampleDataUtil.createExampleData());
  
  			buildFilterMenus();
  
  			String caption = "Use the menus in the column headers to show only the rows where the column value matches the value"
  					+ ((SELECTION_MODE == MenuSelectContainer.SelectionMode.MULTIPLE) ? "s " : " ")
  					+ " of the selected option"
  					+ ((SELECTION_MODE == MenuSelectContainer.SelectionMode.MULTIPLE) ? "s." : ".");
  			if (getFilterableTableModel().isCaseInsensitiveMatch()) {
  				caption += " The case of the text is ignored.";
  			}
  
  			table.setCaption(caption);
  
  			setInitialised(true);
  		}
  		setUpClearAllAction();
  	}
docs: {@inheritDoc}