### Question:
RelationGrid extends BaseExpressionGrid<Relation, RelationGridData, RelationUIModelMapper> implements HasListSelectorControl { @SuppressWarnings("unused") java.util.List<ListSelectorItem> getHeaderItems(final int uiHeaderRowIndex, final int uiHeaderColumnIndex) { final java.util.List<ListSelectorItem> items = new ArrayList<>(); addColumnItems(items, uiHeaderColumnIndex); return items; } RelationGrid(final GridCellTuple parent,
                        final Optional<String> nodeUUID,
                        final HasExpression hasExpression,
                        final Optional<HasName> hasName,
                        final DMNGridPanel gridPanel,
                        final DMNGridLayer gridLayer,
                        final RelationGridData gridData,
                        final DefinitionUtils definitionUtils,
                        final SessionManager sessionManager,
                        final SessionCommandManager<AbstractCanvasHandler> sessionCommandManager,
                        final DefaultCanvasCommandFactory canvasCommandFactory,
                        final Event<ExpressionEditorChanged> editorSelectedEvent,
                        final Event<RefreshFormPropertiesEvent> refreshFormPropertiesEvent,
                        final Event<DomainObjectSelectionEvent> domainObjectSelectionEvent,
                        final CellEditorControlsView.Presenter cellEditorControls,
                        final ListSelectorView.Presenter listSelector,
                        final TranslationService translationService,
                        final boolean isOnlyVisualChangeAllowed,
                        final int nesting,
                        final ManagedInstance<ValueAndDataTypePopoverView.Presenter> headerEditors,
                        final ReadOnlyProvider readOnlyProvider); @Override RelationUIModelMapper makeUiModelMapper(); @Override void initialiseUiColumns(); @Override void initialiseUiRows(); @Override void initialiseUiCells(); @Override @SuppressWarnings("unused") java.util.List<ListSelectorItem> getItems(final int uiRowIndex,
                                                     final int uiColumnIndex); @Override void onItemSelected(final ListSelectorItem item); @Override void doAfterSelectionChange(final int uiRowIndex,
                                       final int uiColumnIndex); @Override void doAfterHeaderSelectionChange(final int uiHeaderRowIndex,
                                             final int uiHeaderColumnIndex);  }### Answer:
@Test public void testGetHeaderItems() { setupGrid(0); final java.util.List<HasListSelectorControl.ListSelectorItem> items = grid.getHeaderItems(0, 0); assertThat(items.size()).isEqualTo(4); assertListSelectorHeaderItem(items.get(HEADER_COLUMNS), DMNEditorConstants.RelationEditor_HeaderColumns); assertListSelectorTextItem(items.get(INSERT_COLUMN_BEFORE), DMNEditorConstants.RelationEditor_InsertColumnLeft); assertListSelectorTextItem(items.get(INSERT_COLUMN_AFTER), DMNEditorConstants.RelationEditor_InsertColumnRight); assertListSelectorTextItem(items.get(DELETE_COLUMN), DMNEditorConstants.RelationEditor_DeleteColumn); }