code: protected List<ListGridField> createAndGetListGridFields() {
  		List<ListGridField> fields = new ArrayList<ListGridField>();
  
  		ListGridField labelFld = new ListGridField(FLD_LABEL,
  				MESSAGES.layerListGridColumnLayerName(), FLD_LABEL_WIDTH);
  
  		ListGridField visibilityFld = new ListGridField(FLD_VISIBILITY,
  				MESSAGES.layerListGridColumnVisibilityName(), FLD_VISIBILITY_WIDTH);
  		visibilityFld.setType(ListGridFieldType.IMAGE);
  		visibilityFld.setAlign(Alignment.CENTER);
  		addCellClickHandler(new CellClickHandler() {
  			@Override
  			public void onCellClick(CellClickEvent cellClickEvent) {
  				if (cellClickEvent.getColNum() == getFieldNum(FLD_VISIBILITY)) {
  					handler.onToggleVisibility((Layer) cellClickEvent.getRecord().getAttributeAsObject(FLD_OBJECT));
  				}
  			}
  		});
  
  		fields.add(visibilityFld);
  		fields.add(labelFld);
  		return fields;
  	}
docs: Extensible method to create a list of {@link com.smartgwt.client.widgets.grid.ListGridField} objects.
  The order in which the fields are provided will be the order of the columns.
  
  @return