Program: 118304
Project: 118304
Buggy source:
@SuppressWarnings("String_Node_Str") private void setMetadataTypeCommon(final MetadataType metadataType){
  this.metadataType=metadataType;
  IMetadataColumn metaCol;
  ColumnType colType;
  EList listColType;
  List<IMetadataColumn> listMetadataColumn;
  metadataTable.setComment(metadataType.getComment());
  metadataTable.setTableName(metadataType.getName());
  metadataTable.setLabel(metadataType.getLabel());
  metadataTable.setTableType(metadataType.getType());
  EMap<String,String> properties=metadataType.getAdditionalProperties();
  if (properties != null) {
    for (    Map.Entry<String,String> entry : properties.entrySet()) {
      metadataTable.getAdditionalProperties().put(entry.getKey(),entry.getValue());
    }
  }
  if (metadataType.getConnector() != null) {
    metadataTable.setAttachedConnector(metadataType.getConnector());
  }
 else {
    metadataTable.setAttachedConnector(EConnectionType.FLOW_MAIN.getName());
  }
  listColType=metadataType.getColumn();
  listMetadataColumn=new ArrayList<IMetadataColumn>();
  for (int i=0; i < listColType.size(); i++) {
    colType=(ColumnType)listColType.get(i);
    metaCol=new MetadataColumn();
    metaCol.setComment(colType.getComment());
    metaCol.setKey(colType.isKey());
    metaCol.setNullable(colType.isNullable());
    if (colType.getLength() >= 0) {
      metaCol.setLength(new Integer(colType.getLength()));
    }
 else {
      metaCol.setLength(null);
    }
    if (colType.getOriginalLength() >= 0) {
      metaCol.setOriginalLength(new Integer(colType.getOriginalLength()));
    }
 else {
      metaCol.setOriginalLength(null);
    }
    if (colType.getAdditionalField().size() > 0) {
      Iterator it=colType.getAdditionalField().keySet().iterator();
      while (it.hasNext()) {
        String key=(String)it.next();
        metaCol.getAdditionalField().put(key,(String)colType.getAdditionalField().get(key));
      }
    }
    metaCol.setLabel(colType.getName());
    if (colType.getPrecision() >= 0) {
      metaCol.setPrecision(new Integer(colType.getPrecision()));
    }
 else {
      metaCol.setPrecision(null);
    }
    metaCol.setTalendType(colType.getType());
    metaCol.setType(colType.getSourceType());
    metaCol.setPattern(colType.getPattern());
    metaCol.setDefault(colType.getDefaultValue());
    metaCol.setRelatedEntity(colType.getRelatedEntity());
    metaCol.setRelationshipType(colType.getRelationshipType());
    if (colType.getOriginalDbColumnName() == null) {
      metaCol.setOriginalDbColumnName(colType.getName());
    }
 else {
      metaCol.setOriginalDbColumnName(colType.getOriginalDbColumnName());
    }
    metaCol.setUsefulColumn(colType.isUsefulColumn());
    listMetadataColumn.add(metaCol);
  }
  metadataTable.setListColumns(listMetadataColumn);
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") private void setMetadataTypeCommon(final MetadataType metadataType){
  this.metadataType=metadataType;
  IMetadataColumn metaCol;
  ColumnType colType;
  EList listColType;
  List<IMetadataColumn> listMetadataColumn;
  metadataTable.setComment(metadataType.getComment());
  metadataTable.setTableName(metadataType.getName());
  metadataTable.setLabel(metadataType.getLabel());
  metadataTable.setTableType(metadataType.getType());
  EMap<String,String> properties=metadataType.getAdditionalProperties();
  if (properties != null) {
    for (    Map.Entry<String,String> entry : properties.entrySet()) {
      metadataTable.getAdditionalProperties().put(entry.getKey(),entry.getValue());
    }
  }
  if (metadataType.getConnector() != null) {
    metadataTable.setAttachedConnector(metadataType.getConnector());
  }
 else {
    metadataTable.setAttachedConnector(EConnectionType.FLOW_MAIN.getName());
  }
  listColType=metadataType.getColumn();
  listMetadataColumn=new ArrayList<IMetadataColumn>();
  for (int i=0; i < listColType.size(); i++) {
    colType=(ColumnType)listColType.get(i);
    metaCol=new MetadataColumn();
    metaCol.setComment(colType.getComment());
    metaCol.setKey(colType.isKey());
    metaCol.setNullable(colType.isNullable());
    if (colType.getLength() >= 0) {
      metaCol.setLength(new Integer(colType.getLength()));
    }
 else {
      metaCol.setLength(null);
    }
    if (colType.getOriginalLength() >= 0) {
      metaCol.setOriginalLength(new Integer(colType.getOriginalLength()));
    }
 else {
      metaCol.setOriginalLength(null);
    }
    if (colType.getAdditionalField().size() > 0) {
      Iterator it=colType.getAdditionalField().keySet().iterator();
      while (it.hasNext()) {
        String key=(String)it.next();
        metaCol.getAdditionalField().put(key,(String)colType.getAdditionalField().get(key));
      }
    }
    metaCol.setLabel(colType.getName());
    if (colType.getPrecision() >= 0) {
      metaCol.setPrecision(new Integer(colType.getPrecision()));
    }
 else {
      metaCol.setPrecision(null);
    }
    metaCol.setTalendType(colType.getType());
    metaCol.setType(colType.getSourceType());
    metaCol.setPattern(colType.getPattern());
    metaCol.setDefault(colType.getDefaultValue());
    metaCol.setRelatedEntity(colType.getRelatedEntity());
    metaCol.setRelationshipType(colType.getRelationshipType());
    if (colType.getOriginalDbColumnName() == null) {
      metaCol.setOriginalDbColumnName(colType.getName());
    }
 else {
      metaCol.setOriginalDbColumnName(colType.getOriginalDbColumnName());
    }
    metaCol.setUsefulColumn(colType.isUsefulColumn());
    listMetadataColumn.add(metaCol);
  }
  metadataTable.setListColumns(listMetadataColumn);
  List<String> columnNames=new ArrayList<String>();
  for (  IMetadataColumn column : listMetadataColumn) {
    columnNames.add(column.getLabel());
  }
  metadataTable.setOriginalColumns(columnNames);
}