docs: @Override
  	protected void onInitializeComponents()
  	{
  		super.onInitializeComponents();
  
  		// Create the tables and scrollpanes...
  		tblRight = new GenericJTable<>(newRightTableModel());
  		tblLeft = new GenericJTable<>(newLeftTableModel());
  		@SuppressWarnings("unchecked")
  		final GenericTableModel<T> tableModel = (GenericTableModel<T>)tblLeft.getModel();
  		tableModel.addList(getModelObject());
  
  		shuffleTable = new GenericShuffleJTable<>(tblLeft, tblRight);
  
  		addAction = new AddAction<>(shuffleTable);
  		removeAction = new RemoveAction<>(shuffleTable);
  		addAllAction = new AddAllAction<>(shuffleTable);
  		removeAllAction = new RemoveAllAction<>(shuffleTable);
  
  		final JMenuItem addMenuItem = new JMenuItem("Selected row to right >");
  		addMenuItem.addActionListener(addAction);
  		final JMenuItem addAllMenuItem = new JMenuItem("All selected rows to right >>");
  		addAllMenuItem.addActionListener(addAllAction);
  		final JPopupMenu leftTablePopupMenu = JComponentFactory
  			.newJPopupMenu(shuffleTable.getLeftTable(), addMenuItem, addAllMenuItem);
  		shuffleTable.getLeftTable().add(leftTablePopupMenu);
  
  		final JMenuItem removeMenuItem = new JMenuItem("< Selected row to left");
  		removeMenuItem.addActionListener(removeAction);
  		final JMenuItem removeAllMenuItem = new JMenuItem("<< All selected rows to left");
  		removeAllMenuItem.addActionListener(removeAllAction);
  		final JPopupMenu rightTablePopupMenu = JComponentFactory
  			.newJPopupMenu(shuffleTable.getRightTable(), removeMenuItem, removeAllMenuItem);
  		shuffleTable.getRightTable().add(rightTablePopupMenu);
  
  		shuffleTable.getLeftTable().add(leftTablePopupMenu);
  		// Create the JButtons to move the data...
  		btnAdd = new JButton(addAction);
  		btnAddAll = new JButton(addAllAction);
  		btnRemove = new JButton(removeAction);
  		btnRemoveAll = new JButton(removeAllAction);
  
  		btnAdd.setText("Add>");
  		btnAddAll.setText("Add all>>");
  		btnRemove.setText("<Remove");
  		btnRemoveAll.setText("<<Remove all");
  
  		scrPnTblRight = new JScrollPane();
  		scrPnTblLeft = new JScrollPane();
  		scrPnTblLeft.setViewportView(tblLeft);
  		scrPnTblRight.setViewportView(tblRight);
  	}