Program: 120437
Project: 120437
Buggy source:
/** 
 * qzhang Comment method "createSchemaComposite".
 */
private void createSchemaComposite(){
  outputMetaTable=externalNode.getMetadataList().get(0);
  uiManager.convert(externalNode,outputMetaTable,functionManager);
  metadataTableEditor=new MetadataTableEditorExt(outputMetaTable,"String_Node_Str");
  metadataTableEditor.setRowGenUI(this);
  inputReadOnly=this.externalNode.getProcess().isReadOnly();
  if (this.externalNode.getOriginalNode().getJobletNode() != null) {
    inputReadOnly=this.externalNode.getOriginalNode().isReadOnly();
  }
  dataTableView=new MetadataTableEditorViewExt(datasFlowViewSashForm,SWT.BORDER,metadataTableEditor,inputReadOnly,!inputReadOnly,externalNode,functionManager);
  dataTableView.getExtendedTableViewer().setCommandStack(generatorManager.getCommandStack());
  dataTableView.setGeneratorUI(this);
  dataTableView.setShowDbTypeColumn(true,true,false);
  dataTableView.setShowDbColumnName(false,false);
  metadataTableEditor.setModifiedBeanListenable(dataTableView.getTableViewerCreator());
  metadataTableEditor.addModifiedBeanListener(new IModifiedBeanListener<IMetadataColumn>(){
    public void handleEvent(    ModifiedBeanEvent<IMetadataColumn> event){
      if (AbstractMetadataTableEditorView.ID_COLUMN_NAME.equals(event.column.getId())) {
        IMetadataColumn modifiedObject=(IMetadataColumn)event.bean;
        if (modifiedObject != null) {
          String originalLabel=changedNameColumns.get(modifiedObject);
          if (originalLabel == null) {
            changedNameColumns.put(modifiedObject.getLabel(),(String)event.previousValue);
          }
        }
      }
    }
  }
);
  for (int i=0; i < dataTableView.getTable().getColumnCount(); i++) {
    dataTableView.getTable().getColumn(i).pack();
  }
  dataTableView.getTable().getColumn(0).setWidth(0);
}

Fixed version (ground truth):
/** 
 * qzhang Comment method "createSchemaComposite".
 */
private void createSchemaComposite(){
  outputMetaTable=externalNode.getMetadataList().get(0);
  uiManager.convert(externalNode,outputMetaTable,functionManager);
  metadataTableEditor=new MetadataTableEditorExt(outputMetaTable,"String_Node_Str");
  metadataTableEditor.setRowGenUI(this);
  inputReadOnly=this.externalNode.getProcess().isReadOnly();
  if (this.externalNode.getOriginalNode().getJobletNode() != null) {
    inputReadOnly=this.externalNode.getOriginalNode().isReadOnly();
  }
  dataTableView=new MetadataTableEditorViewExt(datasFlowViewSashForm,SWT.BORDER,metadataTableEditor,inputReadOnly,!inputReadOnly,externalNode,functionManager);
  dataTableView.getExtendedTableViewer().setCommandStack(generatorManager.getCommandStack());
  dataTableView.setGeneratorUI(this);
  dataTableView.setShowDbTypeColumn(true,true,false);
  dataTableView.setShowDbColumnName(false,false);
  metadataTableEditor.setModifiedBeanListenable(dataTableView.getTableViewerCreator());
  metadataTableEditor.addModifiedBeanListener(new IModifiedBeanListener<IMetadataColumn>(){
    @Override public void handleEvent(    ModifiedBeanEvent<IMetadataColumn> event){
      if (AbstractMetadataTableEditorView.ID_COLUMN_NAME.equals(event.column.getId())) {
        IMetadataColumn modifiedObject=event.bean;
        if (modifiedObject != null) {
          String originalLabel=changedNameColumns.get(modifiedObject);
          if (originalLabel == null) {
            changedNameColumns.put(modifiedObject.getLabel(),(String)event.previousValue);
          }
        }
      }
    }
  }
);
  for (int i=0; i < dataTableView.getTable().getColumnCount(); i++) {
    dataTableView.getTable().getColumn(i).pack();
  }
  dataTableView.getTable().getColumn(0).setWidth(0);
}