Program: 76602
Project: 76602
Buggy source:
protected AbstractParseState versionConditionalJumpTo(){
  if (handler.versionNumber < VersionUtil.VERSION_3_2_11 && propDefn == null && element instanceof ScalarParameter && ("String_Node_Str".equalsIgnoreCase(name) || "String_Node_Str".equalsIgnoreCase(name))) {
    CompatibleParamAllowMumbleState state=new CompatibleParamAllowMumbleState(handler,element,name);
    state.setName(ScalarParameter.IS_REQUIRED_PROP);
    return state;
  }
  if (handler.versionNumber <= VersionUtil.VERSION_3_2_10 && propDefn == null && element instanceof IOdaExtendableElementModel) {
    ODAExtensionElementDefn elementDefn=null;
    if (element instanceof OdaDataSet)     elementDefn=(ODAExtensionElementDefn)((OdaDataSet)element).getExtDefn();
 else     if (element instanceof OdaDataSource)     elementDefn=(ODAExtensionElementDefn)((OdaDataSource)element).getExtDefn();
    if (elementDefn != null) {
      List privatePropDefns=elementDefn.getODAPrivateDriverPropertyNames();
      if (privatePropDefns.contains(name)) {
        CompatibleODAPrivatePropertyState state=new CompatibleODAPrivatePropertyState(handler,element);
        state.setName(name);
        return state;
      }
    }
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_10) {
    if (element instanceof ReportItem) {
      if (IReportItemModel.TOC_PROP.equalsIgnoreCase(name)) {
        CompatibleTOCPropertyState state=new CompatibleTOCPropertyState(handler,element);
        state.setName(IReportItemModel.TOC_PROP);
        return state;
      }
    }
    if (element instanceof GroupElement) {
      if (IGroupElementModel.TOC_PROP.equalsIgnoreCase(name)) {
        CompatibleTOCPropertyState state=new CompatibleTOCPropertyState(handler,element);
        state.setName(IGroupElementModel.TOC_PROP);
        return state;
      }
    }
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_2 && (DesignChoiceConstants.CHOICE_VERTICAL_ALIGN.equals(name))) {
    CompatibleVerticalAlignState state=new CompatibleVerticalAlignState(handler,element);
    state.setName(DesignChoiceConstants.CHOICE_VERTICAL_ALIGN);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_4 && (element instanceof ScalarParameter) && (IScalarParameterModel.DEFAULT_VALUE_PROP.equalsIgnoreCase(name))) {
    CompatiblePropertyTypeState state=new CompatiblePropertyTypeState(handler,element);
    state.setName(IScalarParameterModel.DEFAULT_VALUE_PROP);
    return state;
  }
  if (handler.versionNumber <= VersionUtil.VERSION_3_2_0 && struct instanceof DataSetParameter && "String_Node_Str".equals(name)) {
    CompatibleRenamedPropertyState state=new CompatibleRenamedPropertyState(handler,element,propDefn,struct,"String_Node_Str");
    state.setName(DataSetParameter.ALLOW_NULL_MEMBER);
    return state;
  }
  if ((IReportItemModel.ON_CREATE_METHOD.equalsIgnoreCase(name)) && handler.versionNumber < VersionUtil.VERSION_3_2_0) {
    CompatibleMiscExpressionState state=new CompatibleMiscExpressionState(handler,element);
    state.setName(name);
    return state;
  }
  if (struct instanceof ComputedColumn && "String_Node_Str".equalsIgnoreCase(name) && (element instanceof ScalarParameter || element instanceof ReportItem) & handler.versionNumber <= VersionUtil.VERSION_3_2_2) {
    CompatibleRenamedPropertyState state=new CompatibleRenamedPropertyState(handler,element,propDefn,struct,"String_Node_Str");
    state.setName(ComputedColumn.AGGREGATEON_MEMBER);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_6 && (struct instanceof DataSetParameter || struct instanceof OdaDataSetParameter) && DataSetParameter.DATA_TYPE_MEMBER.equalsIgnoreCase(name)) {
    CompatibleColumnDataTypeState state=new CompatibleColumnDataTypeState(handler,element,propDefn,struct);
    state.setName(DataSetParameter.DATA_TYPE_MEMBER);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_9 && element instanceof ScalarParameter && IScalarParameterModel.MUCH_MATCH_PROP.equalsIgnoreCase(name)) {
    CompatibleMustMatchState state=new CompatibleMustMatchState(handler,element);
    state.setName(IScalarParameterModel.MUCH_MATCH_PROP);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_0_0 && (IStyleModel.PAGE_BREAK_BEFORE_PROP.equalsIgnoreCase(name) || IStyleModel.PAGE_BREAK_AFTER_PROP.equalsIgnoreCase(name))) {
    CompatiblePageBreakPropState state=new CompatiblePageBreakPropState(handler,element);
    state.setName(name);
    return state;
  }
  return super.versionConditionalJumpTo();
}

Fixed version (ground truth):
protected AbstractParseState versionConditionalJumpTo(){
  if (handler.versionNumber < VersionUtil.VERSION_3_2_11 && propDefn == null && element instanceof ScalarParameter && ("String_Node_Str".equalsIgnoreCase(name) || "String_Node_Str".equalsIgnoreCase(name))) {
    CompatibleParamAllowMumbleState state=new CompatibleParamAllowMumbleState(handler,element,name);
    state.setName(ScalarParameter.IS_REQUIRED_PROP);
    return state;
  }
  if (handler.versionNumber <= VersionUtil.VERSION_3_2_10 && propDefn == null && element instanceof IOdaExtendableElementModel) {
    ODAExtensionElementDefn elementDefn=null;
    if (element instanceof OdaDataSet)     elementDefn=(ODAExtensionElementDefn)((OdaDataSet)element).getExtDefn();
 else     if (element instanceof OdaDataSource)     elementDefn=(ODAExtensionElementDefn)((OdaDataSource)element).getExtDefn();
    if (elementDefn != null) {
      List privatePropDefns=elementDefn.getODAPrivateDriverPropertyNames();
      if (privatePropDefns.contains(name)) {
        CompatibleODAPrivatePropertyState state=new CompatibleODAPrivatePropertyState(handler,element);
        state.setName(name);
        return state;
      }
    }
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_10) {
    if (element instanceof ReportItem) {
      if (IReportItemModel.TOC_PROP.equalsIgnoreCase(name)) {
        CompatibleTOCPropertyState state=new CompatibleTOCPropertyState(handler,element);
        state.setName(IReportItemModel.TOC_PROP);
        return state;
      }
    }
    if (element instanceof GroupElement) {
      if (IGroupElementModel.TOC_PROP.equalsIgnoreCase(name)) {
        CompatibleTOCPropertyState state=new CompatibleTOCPropertyState(handler,element);
        state.setName(IGroupElementModel.TOC_PROP);
        return state;
      }
    }
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_2 && (DesignChoiceConstants.CHOICE_VERTICAL_ALIGN.equals(name))) {
    CompatibleVerticalAlignState state=new CompatibleVerticalAlignState(handler,element);
    state.setName(DesignChoiceConstants.CHOICE_VERTICAL_ALIGN);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_4 && (element instanceof ScalarParameter) && (IScalarParameterModel.DEFAULT_VALUE_PROP.equalsIgnoreCase(name))) {
    CompatiblePropertyTypeState state=new CompatiblePropertyTypeState(handler,element);
    state.setName(IScalarParameterModel.DEFAULT_VALUE_PROP);
    return state;
  }
  if (handler.versionNumber <= VersionUtil.VERSION_3_2_0 && struct instanceof DataSetParameter && "String_Node_Str".equals(name)) {
    CompatibleRenamedPropertyState state=new CompatibleRenamedPropertyState(handler,element,propDefn,struct,"String_Node_Str");
    state.setName(DataSetParameter.ALLOW_NULL_MEMBER);
    return state;
  }
  if ((IReportItemModel.ON_CREATE_METHOD.equalsIgnoreCase(name)) && handler.versionNumber < VersionUtil.VERSION_3_2_0) {
    CompatibleMiscExpressionState state=new CompatibleMiscExpressionState(handler,element);
    state.setName(name);
    return state;
  }
  if (struct instanceof ComputedColumn && "String_Node_Str".equalsIgnoreCase(name) && (element instanceof ScalarParameter || element instanceof ReportItem) & handler.versionNumber <= VersionUtil.VERSION_3_2_2) {
    CompatibleRenamedPropertyState state=new CompatibleRenamedPropertyState(handler,element,propDefn,struct,"String_Node_Str");
    state.setName(ComputedColumn.AGGREGATEON_MEMBER);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_6 && (struct instanceof DataSetParameter || struct instanceof OdaDataSetParameter) && DataSetParameter.DATA_TYPE_MEMBER.equalsIgnoreCase(name)) {
    CompatibleColumnDataTypeState state=new CompatibleColumnDataTypeState(handler,element,propDefn,struct);
    state.setName(DataSetParameter.DATA_TYPE_MEMBER);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_2_9 && element instanceof ScalarParameter && IScalarParameterModel.MUCH_MATCH_PROP.equalsIgnoreCase(name)) {
    CompatibleMustMatchState state=new CompatibleMustMatchState(handler,element);
    state.setName(IScalarParameterModel.MUCH_MATCH_PROP);
    return state;
  }
  if (handler.versionNumber < VersionUtil.VERSION_3_1_0 && (IStyleModel.PAGE_BREAK_BEFORE_PROP.equalsIgnoreCase(name) || IStyleModel.PAGE_BREAK_AFTER_PROP.equalsIgnoreCase(name))) {
    CompatiblePageBreakPropState state=new CompatiblePageBreakPropState(handler,element);
    state.setName(name);
    return state;
  }
  return super.versionConditionalJumpTo();
}