Program: 121248
Project: 121248
Buggy source:
public List<Variable> getVariables(){
  List<Variable> variables=new ArrayList<Variable>();
  for (  IDataMapTable table : this.tables) {
    List<IColumnEntry> dataMapTableEntries=table.getColumnEntries();
    for (    IColumnEntry entrySource : dataMapTableEntries) {
      String variable=null;
      if (table instanceof VarsTable) {
        variable=entrySource.getExpression();
      }
 else {
        variable=LanguageProvider.getCurrentLanguage().getLocation(entrySource.getParentName(),entrySource.getName());
      }
      String talendType=null;
      boolean nullable=true;
      if (entrySource instanceof AbstractInOutTableEntry) {
        talendType=((AbstractInOutTableEntry)entrySource).getMetadataColumn().getTalendType();
        nullable=((AbstractInOutTableEntry)entrySource).getMetadataColumn().isNullable();
      }
 else       if (entrySource instanceof VarTableEntry) {
        talendType=((VarTableEntry)entrySource).getType();
        nullable=((VarTableEntry)entrySource).isNullable();
      }
      if (talendType != null) {
        if (LanguageManager.getCurrentLanguage() == ECodeLanguage.JAVA) {
          boolean exist=false;
          for (          Variable v : variables) {
            if (v.getName().trim().equals(variable.trim())) {
              exist=true;
              break;
            }
          }
          if (!exist) {
            variables.add(new Variable(variable,JavaTypesManager.getDefaultValueFromJavaIdType(talendType,nullable).toString(),talendType,nullable));
          }
        }
 else {
          variables.add(new Variable(variable,"String_Node_Str",talendType,nullable));
        }
      }
    }
  }
  return variables;
}

Fixed version (ground truth):
public List<Variable> getVariables(){
  List<Variable> variables=new ArrayList<Variable>();
  for (  IDataMapTable table : this.tables) {
    List<IColumnEntry> dataMapTableEntries=table.getColumnEntries();
    for (    IColumnEntry entrySource : dataMapTableEntries) {
      String variable=null;
      if (table instanceof VarsTable) {
        variable=entrySource.getExpression();
      }
 else {
        variable=LanguageProvider.getCurrentLanguage().getLocation(entrySource.getParentName(),entrySource.getName());
      }
      String talendType=null;
      boolean nullable=true;
      if (entrySource instanceof AbstractInOutTableEntry) {
        talendType=((AbstractInOutTableEntry)entrySource).getMetadataColumn().getTalendType();
        nullable=((AbstractInOutTableEntry)entrySource).getMetadataColumn().isNullable();
      }
 else       if (entrySource instanceof VarTableEntry) {
        talendType=((VarTableEntry)entrySource).getType();
        nullable=((VarTableEntry)entrySource).isNullable();
      }
      if (talendType != null) {
        if (LanguageManager.getCurrentLanguage() == ECodeLanguage.JAVA) {
          boolean exist=false;
          for (          Variable v : variables) {
            if (variable != null && v.getName() != null && v.getName().trim().equals(variable.trim())) {
              exist=true;
              break;
            }
          }
          if (!exist) {
            variables.add(new Variable(variable,JavaTypesManager.getDefaultValueFromJavaIdType(talendType,nullable).toString(),talendType,nullable));
          }
        }
 else {
          variables.add(new Variable(variable,"String_Node_Str",talendType,nullable));
        }
      }
    }
  }
  return variables;
}