Program: 120325
Project: 120325
Buggy source:
/** 
 * DOC amaumont Comment method "initListeners".
 */
private void initFieldsListeners(){
  JSONExtractorFieldModel schemaModel=this.fieldsTableEditorView.getModel();
  final Table fieldsTable=this.fieldsTableEditorView.getTable();
  schemaModel.addModifiedBeanListener(new IModifiedBeanListener<SchemaTarget>(){
    public void handleEvent(    ModifiedBeanEvent<SchemaTarget> event){
      handleModifiedBeanEvent(event);
    }
    private void handleModifiedBeanEvent(    ModifiedBeanEvent<SchemaTarget> event){
      if (event.column == fieldsTableEditorView.getXPathColumn()) {
        onXPathValueChanged(fieldsTable,(String)event.newValue,event.index);
      }
    }
  }
);
  schemaModel.addBeforeOperationListListener(-50,new IListenableListListener<SchemaTarget>(){
    public void handleEvent(    ListenableListEvent<SchemaTarget> event){
      handleListenableListBeforeTableViewerRefreshedEvent(event);
    }
  }
);
  schemaModel.addAfterOperationListListener(new IListenableListListener<SchemaTarget>(){
    public void handleEvent(    ListenableListEvent<SchemaTarget> event){
      handleListenableListAfterTableViewerRefreshedEvent(event);
    }
  }
);
  SelectionHelper selectionHelper=this.fieldsTableEditorView.getTableViewerCreator().getSelectionHelper();
  final ILineSelectionListener afterLineSelectionListener=new ILineSelectionListener(){
    public void handle(    LineSelectionEvent e){
      updateLinksStyleAndControlsSelection(e.source.getTable(),true);
    }
  }
;
  selectionHelper.addAfterSelectionListener(afterLineSelectionListener);
}

Fixed version (ground truth):
/** 
 * DOC amaumont Comment method "initListeners".
 */
private void initFieldsListeners(){
  JSONExtractorFieldModel schemaModel=this.fieldsTableEditorView.getModel();
  final Table fieldsTable=this.fieldsTableEditorView.getTable();
  schemaModel.addModifiedBeanListener(new IModifiedBeanListener<SchemaTarget>(){
    @Override public void handleEvent(    ModifiedBeanEvent<SchemaTarget> event){
      handleModifiedBeanEvent(event);
    }
    private void handleModifiedBeanEvent(    ModifiedBeanEvent<SchemaTarget> event){
      if (event.column == fieldsTableEditorView.getXPathColumn()) {
        onXPathValueChanged(fieldsTable,(String)event.newValue,event.index);
      }
    }
  }
);
  schemaModel.addBeforeOperationListListener(-50,new IListenableListListener<SchemaTarget>(){
    @Override public void handleEvent(    ListenableListEvent<SchemaTarget> event){
      handleListenableListBeforeTableViewerRefreshedEvent(event);
    }
  }
);
  schemaModel.addAfterOperationListListener(new IListenableListListener<SchemaTarget>(){
    @Override public void handleEvent(    ListenableListEvent<SchemaTarget> event){
      handleListenableListAfterTableViewerRefreshedEvent(event);
    }
  }
);
  SelectionHelper selectionHelper=this.fieldsTableEditorView.getTableViewerCreator().getSelectionHelper();
  final ILineSelectionListener afterLineSelectionListener=new ILineSelectionListener(){
    @Override public void handle(    LineSelectionEvent e){
      updateLinksStyleAndControlsSelection(e.source.getTable(),true);
    }
  }
;
  selectionHelper.addAfterSelectionListener(afterLineSelectionListener);
}