Program: 78716
Project: 78716
Buggy source:
public boolean equals(Object obj){
  if (obj == null || obj instanceof DataSourceAndDataSet == false)   return false;
  if (this == obj)   return true;
  IBaseDataSourceDesign dataSourceDesign2=((DataSourceAndDataSet)obj).dataSourceDesign;
  IBaseDataSetDesign dataSetDesign2=((DataSourceAndDataSet)obj).dataSetDesign;
  Collection parameterBindings2=((DataSourceAndDataSet)obj).parameterBindings;
  int cacheCount2=((DataSourceAndDataSet)obj).cacheCount;
  if (this.dataSourceDesign == dataSourceDesign2) {
    if (this.dataSetDesign == dataSetDesign2) {
      if (this.parameterBindings == parameterBindings2)       return true;
 else       if (this.parameterBindings == null || parameterBindings2 == null)       return false;
    }
 else     if (this.dataSetDesign == null || dataSetDesign2 == null)     return false;
  }
 else   if (this.dataSourceDesign == null || dataSourceDesign2 == null) {
    return false;
  }
 else {
    if ((this.dataSetDesign != dataSetDesign2) && (this.dataSetDesign == null || dataSetDesign2 == null))     return false;
  }
  if (isEqualString(dataSourceDesign.getBeforeOpenScript(),dataSourceDesign2.getBeforeOpenScript()) == false || isEqualString(dataSourceDesign.getAfterOpenScript(),dataSourceDesign2.getAfterOpenScript()) == false || isEqualString(dataSourceDesign.getBeforeCloseScript(),dataSourceDesign2.getBeforeCloseScript()) == false || isEqualString(dataSourceDesign.getAfterCloseScript(),dataSourceDesign2.getAfterCloseScript()) == false)   return false;
  if (dataSourceDesign instanceof IOdaDataSourceDesign && dataSourceDesign2 instanceof IOdaDataSourceDesign) {
    IOdaDataSourceDesign dataSource=(IOdaDataSourceDesign)dataSourceDesign;
    IOdaDataSourceDesign dataSource2=(IOdaDataSourceDesign)dataSourceDesign2;
    if (isEqualString(dataSource.getExtensionID(),dataSource2.getExtensionID()) == false)     return false;
    if (isEqualProps(dataSource.getPublicProperties(),dataSource2.getPublicProperties()) == false || isEqualProps(dataSource.getPrivateProperties(),dataSource2.getPrivateProperties()) == false)     return false;
  }
 else   if (dataSourceDesign instanceof IScriptDataSourceDesign && dataSourceDesign2 instanceof IScriptDataSourceDesign) {
    IScriptDataSourceDesign dataSource=(IScriptDataSourceDesign)dataSourceDesign;
    IScriptDataSourceDesign dataSource2=(IScriptDataSourceDesign)dataSourceDesign2;
    if (isEqualString(dataSource.getOpenScript(),dataSource2.getOpenScript()) == false || isEqualString(dataSource.getCloseScript(),dataSource2.getCloseScript()) == false)     return false;
  }
  if (isEqualString(dataSetDesign.getBeforeOpenScript(),dataSetDesign2.getBeforeOpenScript()) == false || isEqualString(dataSetDesign.getAfterOpenScript(),dataSetDesign2.getAfterOpenScript()) == false || isEqualString(dataSetDesign.getBeforeCloseScript(),dataSetDesign2.getBeforeCloseScript()) == false || isEqualString(dataSetDesign.getAfterCloseScript(),dataSetDesign2.getAfterCloseScript()) == false)   return false;
  if (isEqualComputedColumns(dataSetDesign.getComputedColumns(),dataSetDesign2.getComputedColumns()) == false || isEqualFilters(dataSetDesign.getFilters(),dataSetDesign2.getFilters()) == false || isEqualParameterBindings(dataSetDesign.getInputParamBindings(),dataSetDesign2.getInputParamBindings()) == false || isEqualParameters(dataSetDesign.getParameters(),dataSetDesign2.getParameters()) == false || isEqualResultHints(dataSetDesign.getResultSetHints(),dataSetDesign2.getResultSetHints()) == false)   return false;
  if (dataSetDesign instanceof IOdaDataSetDesign && dataSetDesign2 instanceof IOdaDataSetDesign) {
    IOdaDataSetDesign dataSet=(IOdaDataSetDesign)dataSetDesign;
    IOdaDataSetDesign dataSet2=(IOdaDataSetDesign)dataSetDesign2;
    if (isEqualString(dataSet.getQueryText(),dataSet2.getQueryText()) == false || isEqualString(dataSet.getQueryScript(),dataSet2.getQueryScript()) == false || isEqualString(dataSet.getExtensionID(),dataSet2.getExtensionID()) == false || isEqualString(dataSet.getPrimaryResultSetName(),dataSet2.getPrimaryResultSetName()) == false || isEqualProps(dataSet.getPublicProperties(),dataSet2.getPublicProperties()) == false || isEqualProps(dataSet.getPrivateProperties(),dataSet2.getPrivateProperties()) == false)     return false;
  }
 else   if (dataSetDesign instanceof IScriptDataSetDesign && dataSetDesign2 instanceof IScriptDataSetDesign) {
    IScriptDataSetDesign dataSet=(IScriptDataSetDesign)dataSetDesign;
    IScriptDataSetDesign dataSet2=(IScriptDataSetDesign)dataSetDesign2;
    if (isEqualString(dataSet.getOpenScript(),dataSet2.getOpenScript()) == false || isEqualString(dataSet.getFetchScript(),dataSet2.getFetchScript()) == false || isEqualString(dataSet.getCloseScript(),dataSet2.getCloseScript()) == false || isEqualString(dataSet.getDescribeScript(),dataSet2.getDescribeScript()) == false)     return false;
  }
 else {
    return false;
  }
  if (this.isEqualParameterBindings(this.parameterBindings,parameterBindings2) == false)   return false;
  if (this.cacheCount != cacheCount2)   return false;
  return true;
}

Fixed version (ground truth):
public boolean equals(Object obj){
  if (obj == null || obj instanceof DataSourceAndDataSet == false)   return false;
  if (this == obj)   return true;
  IBaseDataSourceDesign dataSourceDesign2=((DataSourceAndDataSet)obj).dataSourceDesign;
  IBaseDataSetDesign dataSetDesign2=((DataSourceAndDataSet)obj).dataSetDesign;
  Collection parameterBindings2=((DataSourceAndDataSet)obj).parameterBindings;
  int cacheCount2=((DataSourceAndDataSet)obj).cacheCount;
  if (this.dataSourceDesign == dataSourceDesign2) {
    if (this.dataSetDesign == dataSetDesign2) {
      if (this.parameterBindings == parameterBindings2)       return true;
    }
 else     if (this.dataSetDesign == null || dataSetDesign2 == null) {
      return false;
    }
  }
 else   if (this.dataSourceDesign == null || dataSourceDesign2 == null) {
    return false;
  }
 else {
    if ((this.dataSetDesign != dataSetDesign2) && (this.dataSetDesign == null || dataSetDesign2 == null))     return false;
  }
  if (isEqualString(dataSourceDesign.getBeforeOpenScript(),dataSourceDesign2.getBeforeOpenScript()) == false || isEqualString(dataSourceDesign.getAfterOpenScript(),dataSourceDesign2.getAfterOpenScript()) == false || isEqualString(dataSourceDesign.getBeforeCloseScript(),dataSourceDesign2.getBeforeCloseScript()) == false || isEqualString(dataSourceDesign.getAfterCloseScript(),dataSourceDesign2.getAfterCloseScript()) == false)   return false;
  if (dataSourceDesign instanceof IOdaDataSourceDesign && dataSourceDesign2 instanceof IOdaDataSourceDesign) {
    IOdaDataSourceDesign dataSource=(IOdaDataSourceDesign)dataSourceDesign;
    IOdaDataSourceDesign dataSource2=(IOdaDataSourceDesign)dataSourceDesign2;
    if (isEqualString(dataSource.getExtensionID(),dataSource2.getExtensionID()) == false)     return false;
    if (isEqualProps(dataSource.getPublicProperties(),dataSource2.getPublicProperties()) == false || isEqualProps(dataSource.getPrivateProperties(),dataSource2.getPrivateProperties()) == false)     return false;
  }
 else   if (dataSourceDesign instanceof IScriptDataSourceDesign && dataSourceDesign2 instanceof IScriptDataSourceDesign) {
    IScriptDataSourceDesign dataSource=(IScriptDataSourceDesign)dataSourceDesign;
    IScriptDataSourceDesign dataSource2=(IScriptDataSourceDesign)dataSourceDesign2;
    if (isEqualString(dataSource.getOpenScript(),dataSource2.getOpenScript()) == false || isEqualString(dataSource.getCloseScript(),dataSource2.getCloseScript()) == false)     return false;
  }
  if (isEqualString(dataSetDesign.getBeforeOpenScript(),dataSetDesign2.getBeforeOpenScript()) == false || isEqualString(dataSetDesign.getAfterOpenScript(),dataSetDesign2.getAfterOpenScript()) == false || isEqualString(dataSetDesign.getBeforeCloseScript(),dataSetDesign2.getBeforeCloseScript()) == false || isEqualString(dataSetDesign.getAfterCloseScript(),dataSetDesign2.getAfterCloseScript()) == false)   return false;
  if (isEqualComputedColumns(dataSetDesign.getComputedColumns(),dataSetDesign2.getComputedColumns()) == false || isEqualFilters(dataSetDesign.getFilters(),dataSetDesign2.getFilters()) == false || isEqualParameterBindings(dataSetDesign.getInputParamBindings(),dataSetDesign2.getInputParamBindings()) == false || isEqualParameters(dataSetDesign.getParameters(),dataSetDesign2.getParameters()) == false || isEqualResultHints(dataSetDesign.getResultSetHints(),dataSetDesign2.getResultSetHints()) == false)   return false;
  if (dataSetDesign instanceof IOdaDataSetDesign && dataSetDesign2 instanceof IOdaDataSetDesign) {
    IOdaDataSetDesign dataSet=(IOdaDataSetDesign)dataSetDesign;
    IOdaDataSetDesign dataSet2=(IOdaDataSetDesign)dataSetDesign2;
    if (isEqualString(dataSet.getQueryText(),dataSet2.getQueryText()) == false || isEqualString(dataSet.getQueryScript(),dataSet2.getQueryScript()) == false || isEqualString(dataSet.getExtensionID(),dataSet2.getExtensionID()) == false || isEqualString(dataSet.getPrimaryResultSetName(),dataSet2.getPrimaryResultSetName()) == false || isEqualProps(dataSet.getPublicProperties(),dataSet2.getPublicProperties()) == false || isEqualProps(dataSet.getPrivateProperties(),dataSet2.getPrivateProperties()) == false)     return false;
  }
 else   if (dataSetDesign instanceof IScriptDataSetDesign && dataSetDesign2 instanceof IScriptDataSetDesign) {
    IScriptDataSetDesign dataSet=(IScriptDataSetDesign)dataSetDesign;
    IScriptDataSetDesign dataSet2=(IScriptDataSetDesign)dataSetDesign2;
    if (isEqualString(dataSet.getOpenScript(),dataSet2.getOpenScript()) == false || isEqualString(dataSet.getFetchScript(),dataSet2.getFetchScript()) == false || isEqualString(dataSet.getCloseScript(),dataSet2.getCloseScript()) == false || isEqualString(dataSet.getDescribeScript(),dataSet2.getDescribeScript()) == false)     return false;
  }
 else {
    return false;
  }
  if (this.isEqualParameterBindings(this.parameterBindings,parameterBindings2) == false)   return false;
  if (this.cacheCount != cacheCount2)   return false;
  return true;
}