Program: 119478
Project: 119478
Buggy source:
@Override public PastePushButton createPastePushButton(){
  PastePushButton pastePushButton=new PastePushButtonForExtendedTable(toolbar,extendedTableViewer){
    @Override public boolean getEnabledState(){
      PropertiesTableEditorModel tableEditorModel=(PropertiesTableEditorModel)getExtendedTableViewer().getExtendedControlModel();
      IElement element=tableEditorModel.getElement();
      String componentName=null;
      if (element != null && element instanceof INode) {
        componentName=((INode)element).getComponent().getName();
      }
      Object data=SimpleClipboard.getInstance().getData();
      if (data == null || !(data instanceof List)) {
        return false;
      }
      @SuppressWarnings("String_Node_Str") List dataList=(List)data;
      boolean sameNumberOfParamAssSourceTable=true;
      if (dataList.isEmpty() || !(dataList.get(0) instanceof HashMap)) {
        return false;
      }
      @SuppressWarnings("String_Node_Str") int sourceColumnNumber=((HashMap)dataList.get(0)).size();
      int colNum=0;
      if (componentName != null && componentName.equals("String_Node_Str")) {
        colNum=getExtendedTableViewer().getTableViewerCreator().getTable().getColumnCount() - 1;
      }
 else {
        colNum=getExtendedTableViewer().getTableViewerCreator().getTable().getColumnCount();
      }
      if (data != null) {
        if (colNum == sourceColumnNumber) {
          sameNumberOfParamAssSourceTable=true;
        }
 else {
          sameNumberOfParamAssSourceTable=false;
        }
      }
      return super.getEnabledState() && (model == null || !model.getElemParameter().isBasedOnSubjobStarts()) && sameNumberOfParamAssSourceTable;
    }
    @Override protected Command getCommandToExecute(    ExtendedTableModel extendedTableModel,    Integer indexWhereInsert){
      return new PropertyTablePasteCommand<Map<String,Object>>(extendedTableModel,indexWhereInsert);
    }
  }
;
  pastePushButton.addListener(getPropertyChangeListener(),false);
  return pastePushButton;
}

Fixed version (ground truth):
@Override public PastePushButton createPastePushButton(){
  PastePushButton pastePushButton=new PastePushButtonForExtendedTable(toolbar,extendedTableViewer){
    @Override public boolean getEnabledState(){
      PropertiesTableEditorModel tableEditorModel=(PropertiesTableEditorModel)getExtendedTableViewer().getExtendedControlModel();
      Object data=SimpleClipboard.getInstance().getData();
      if (data == null || !(data instanceof List) || tableEditorModel.getElemParameter() == null) {
        return false;
      }
      @SuppressWarnings("String_Node_Str") List dataList=(List)data;
      boolean sameNumberOfParamAssSourceTable=true;
      if (dataList.isEmpty() || !(dataList.get(0) instanceof HashMap)) {
        return false;
      }
      @SuppressWarnings("String_Node_Str") int sourceColumnNumber=((HashMap)dataList.get(0)).size();
      int colNum=tableEditorModel.getElemParameter().getListItemsDisplayCodeName().length;
      if (data != null) {
        if (colNum == sourceColumnNumber) {
          sameNumberOfParamAssSourceTable=true;
        }
 else {
          sameNumberOfParamAssSourceTable=false;
        }
      }
      return super.getEnabledState() && (model == null || !model.getElemParameter().isBasedOnSubjobStarts()) && sameNumberOfParamAssSourceTable;
    }
    @Override protected Command getCommandToExecute(    ExtendedTableModel extendedTableModel,    Integer indexWhereInsert){
      return new PropertyTablePasteCommand<Map<String,Object>>(extendedTableModel,indexWhereInsert);
    }
  }
;
  pastePushButton.addListener(getPropertyChangeListener(),false);
  return pastePushButton;
}