Program: 129548
Project: 129548
Buggy source:
private IMetadataTable getMetadataTableBySalesforceServerAPI(final String endPoint,final String user,final String pass,final String timeOut,final String moduleName,final String proxy,final String proxyHost,final String proxyPort,final String proxyUsername,final String proxyPassword){
  IMetadataTable metadataTable=new org.talend.core.model.metadata.MetadataTable();
  if (user == null || pass == null || user.equals("String_Node_Str") || pass.equals("String_Node_Str") || moduleName == null || moduleName.equals("String_Node_Str")) {
    return null;
  }
  boolean socksProxy=false;
  boolean httpProxy=false;
  boolean httpsProxy=false;
  if (SalesforceModuleParseAPI.USE_SOCKS_PROXY.equals(proxy)) {
    socksProxy=true;
  }
  if (SalesforceModuleParseAPI.USE_HTTP_PROXY.equals(proxy)) {
    if (endPoint.startsWith("String_Node_Str")) {
      httpsProxy=true;
    }
 else {
      httpProxy=true;
    }
  }
  salesforceAPI.resetProxy(httpProxy,socksProxy,httpsProxy);
  salesforceAPI.setProxy(proxyHost,proxyPort,proxyUsername,proxyPassword,httpProxy,socksProxy,httpsProxy);
  if (!salesforceAPI.isLogin()) {
    try {
      ArrayList loginList=salesforceAPI.login(endPoint,user,pass,timeOut);
      for (int i=0; i < loginList.size(); i++) {
        if (loginList.get(i) instanceof SoapBindingStub) {
          binding=(SoapBindingStub)loginList.get(i);
        }
 else {
          bindingPartner=new SforceServiceStub(endPoint);
        }
      }
    }
 catch (    Throwable e) {
      ExceptionHandler.process(e);
    }
  }
  salesforceAPI.fetchMetaDataColumns(moduleName);
  salesforceAPI.resetProxy(httpProxy,socksProxy,httpsProxy);
  if (salesforceAPI.getCurrentMetadataColumns() == null) {
    return null;
  }
  metadataTable.setListColumns(salesforceAPI.getCurrentMetadataColumns());
  return metadataTable;
}

Fixed version (ground truth):
private IMetadataTable getMetadataTableBySalesforceServerAPI(final String endPoint,final String user,final String pass,final String timeOut,final String moduleName,final String proxy,final String proxyHost,final String proxyPort,final String proxyUsername,final String proxyPassword){
  IMetadataTable metadataTable=new org.talend.core.model.metadata.MetadataTable();
  if (user == null || pass == null || user.equals("String_Node_Str") || pass.equals("String_Node_Str") || moduleName == null || moduleName.equals("String_Node_Str")) {
    return null;
  }
  boolean socksProxy=false;
  boolean httpProxy=false;
  boolean httpsProxy=false;
  if (SalesforceModuleParseAPI.USE_SOCKS_PROXY.equals(proxy)) {
    socksProxy=true;
  }
  if (SalesforceModuleParseAPI.USE_HTTP_PROXY.equals(proxy)) {
    if (endPoint.startsWith("String_Node_Str")) {
      httpsProxy=true;
    }
 else {
      httpProxy=true;
    }
  }
  salesforceAPI.resetAllProxy();
  salesforceAPI.setProxy(proxyHost,proxyPort,proxyUsername,proxyPassword,httpProxy,socksProxy,httpsProxy);
  if (!salesforceAPI.isLogin()) {
    try {
      ArrayList loginList=salesforceAPI.login(endPoint,user,pass,timeOut);
      for (int i=0; i < loginList.size(); i++) {
        if (loginList.get(i) instanceof SoapBindingStub) {
          binding=(SoapBindingStub)loginList.get(i);
        }
 else {
          bindingPartner=new SforceServiceStub(endPoint);
        }
      }
    }
 catch (    Throwable e) {
      ExceptionHandler.process(e);
    }
  }
  salesforceAPI.fetchMetaDataColumns(moduleName);
  salesforceAPI.resetAllProxy();
  if (salesforceAPI.getCurrentMetadataColumns() == null) {
    return null;
  }
  metadataTable.setListColumns(salesforceAPI.getCurrentMetadataColumns());
  return metadataTable;
}