### Question:
EditableHeaderGridWidgetEditCellMouseEventHandler extends DefaultGridWidgetEditCellMouseEventHandler { @Override public boolean onNodeMouseEvent(final GridWidget gridWidget, final Point2D relativeLocation, final Optional<Integer> uiHeaderRowIndex, final Optional<Integer> uiHeaderColumnIndex, final Optional<Integer> uiRowIndex, final Optional<Integer> uiColumnIndex, final AbstractNodeMouseEvent event) { if (DynamicReadOnlyUtils.isOnlyVisualChangeAllowed(gridWidget)) { return false; } return super.onNodeMouseEvent(gridWidget, relativeLocation, uiHeaderRowIndex, uiHeaderColumnIndex, uiRowIndex, uiColumnIndex, event); }  @Override boolean onNodeMouseEvent(final GridWidget gridWidget,
                                    final Point2D relativeLocation,
                                    final Optional<Integer> uiHeaderRowIndex,
                                    final Optional<Integer> uiHeaderColumnIndex,
                                    final Optional<Integer> uiRowIndex,
                                    final Optional<Integer> uiColumnIndex,
                                    final AbstractNodeMouseEvent event); @Override boolean handleHeaderCell(final GridWidget gridWidget,
                                    final Point2D relativeLocation,
                                    final int uiHeaderRowIndex,
                                    final int uiHeaderColumnIndex,
                                    final AbstractNodeMouseEvent event);  }### Answer:
@Test public void testOnNodeMouseEventWhenOnlyVisualChangeAllowed() { when(gridWidget.isOnlyVisualChangeAllowed()).thenReturn(true); assertThat(handler.onNodeMouseEvent(gridWidget, relativeLocation, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), clickEvent)).isFalse(); verify(gridWidget, never()).startEditingCell(any(Point2D.class)); verify(editableHeaderMetaData, never()).edit(any(GridBodyCellEditContext.class)); }
@Test public void testOnNodeMouseEventWhenIsReadOnlyDiagram() { when(gridWidget.isOnlyVisualChangeAllowed()).thenReturn(false); when(readOnlyProvider.isReadOnlyDiagram()).thenReturn(true); assertThat(handler.onNodeMouseEvent(gridWidget, relativeLocation, Optional.empty(), Optional.empty(), Optional.empty(), Optional.empty(), clickEvent)).isFalse(); verify(gridWidget, never()).startEditingCell(any(Point2D.class)); verify(editableHeaderMetaData, never()).edit(any(GridBodyCellEditContext.class)); }