if ((substitution.hasChanged()) && (substitution.getState() == NLSSubstitution.EXTERNALIZED)) {
if (substitution.getState() == NLSSubstitution.EXTERNALIZED) {
    private void createTableViewer(Composite composite){		createTableComposite(composite);				/*		 * Feature of CellEditors - double click is ignored.		 * The workaround is to register my own listener and force the desired 		 * behavior.		 */		fTableViewer= new TableViewer(fTable) {				protected void hookControl(Control control) {					super.hookControl(control);					((Table) control).addMouseListener(new MouseAdapter() {						public void mouseDoubleClick(MouseEvent e) {							if (getTable().getSelection().length == 0)								return;							TableItem item= getTable().getSelection()[0];							if (item.getBounds(STATE_PROP).contains(e.x, e.y)){								List widgetSel= getSelectionFromWidget();								if (widgetSel == null || widgetSel.size() != 1)									return;								NLSSubstitution s= (NLSSubstitution)widgetSel.get(0);								Integer value= (Integer)getCellModifier().getValue(s, PROPERTIES[STATE_PROP]);								int newValue= MultiStateCellEditor.getNextValue(NLSSubstitution.STATE_COUNT, value.intValue());								getCellModifier().modify(item, PROPERTIES[STATE_PROP], new Integer(newValue));							}							}					});				}		};				fTableViewer.setUseHashlookup(true);				final CellEditor[] editors= createCellEditors();		fTableViewer.setCellEditors(editors);				fTableViewer.setColumnProperties(PROPERTIES);		fTableViewer.setCellModifier(new CellModifier());		fTableViewer.setContentProvider(new IStructuredContentProvider() {            public Object[] getElements(Object inputElement) {                return fSubstitutions;            }            public void dispose() {            }            public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {            }        });				fTableViewer.setLabelProvider(new NLSSubstitutionLabelProvider());		fTableViewer.setInput(new Object());				fTableViewer.addDoubleClickListener(new IDoubleClickListener(){			public void doubleClick(DoubleClickEvent event) {				Set selected= getSelectedTableEntries();				if (selected.size() != 1)					return;				NLSSubstitution substitution= (NLSSubstitution)selected.iterator().next();				if ((substitution.hasChanged()) && (substitution.getState() == NLSSubstitution.EXTERNALIZED)) {					openEditButton(event.getSelection());				}			}		});				fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {			public void selectionChanged(SelectionChangedEvent event) {				ExternalizeWizardPage.this.selectionChanged(event);			}		});	}