Program: 65958
Project: 65958
Buggy source:
/** 
 * Updates chart element MarkerRange.
 * @param eObj chart element object.
 * @param eRefObj reference chart element object.
 * @param eDefObj default chart element object.
 * @param eDefOverride indicates if using default object to override target object if target is null.
 * @param checkVisible indicates if still checking visible of chart element before updating properties of chart element.
 * @generated Don't change this method manually.
 */
protected void updateMarkerRangeImpl(String name,EObject eParentObj,MarkerRange eObj,MarkerRange eRefObj,MarkerRange eDefObj,boolean eDefOverride,boolean checkVisible){
  if (eObj == null) {
    if (eRefObj != null) {
      eObj=eRefObj.copyInstance();
      ChartElementUtil.setEObjectAttribute(eParentObj,name,eObj,false);
    }
 else     if (eDefOverride && eDefObj != null) {
      eObj=eDefObj.copyInstance();
      ChartElementUtil.setEObjectAttribute(eParentObj,name,eObj,false);
      return;
    }
  }
  if (eObj == null || (eRefObj == null && eDefObj == null)) {
    return;
  }
  if (!eObj.isSetLabelAnchor()) {
    if (eRefObj != null && eRefObj.isSetLabelAnchor()) {
      eObj.setLabelAnchor(eRefObj.getLabelAnchor());
    }
 else     if (eDefObj != null && eDefObj.isSetLabelAnchor()) {
      eObj.setLabelAnchor(eDefObj.getLabelAnchor());
    }
  }
  updateLineAttributes("String_Node_Str",eObj,eObj.getOutline(),eRefObj == null ? null : eRefObj.getOutline(),eDefObj == null ? null : eDefObj.getOutline(),eDefOverride,checkVisible);
  updateFill("String_Node_Str",eObj,eObj.getFill(),eRefObj == null ? null : eRefObj.getFill(),eDefObj == null ? null : eDefObj.getFill(),eDefOverride,checkVisible);
  if (eRefObj != null && eRefObj.getStartValue() != null) {
    eObj.setStartValue(eRefObj.getStartValue());
  }
 else   if (eDefObj != null && eDefObj.getStartValue() != null) {
    eObj.setStartValue(eDefObj.getStartValue());
  }
  if (eRefObj != null && eRefObj.getEndValue() != null) {
    eObj.setEndValue(eRefObj.getEndValue());
  }
 else   if (eDefObj != null && eDefObj.getEndValue() != null) {
    eObj.setEndValue(eDefObj.getEndValue());
  }
  updateLabel("String_Node_Str",eObj,eObj.getLabel(),eRefObj == null ? null : eRefObj.getLabel(),eDefObj == null ? null : eDefObj.getLabel(),eDefOverride,checkVisible);
  updateFormatSpecifier("String_Node_Str",eObj,eObj.getFormatSpecifier(),eRefObj == null ? null : eRefObj.getFormatSpecifier(),eDefObj == null ? null : eDefObj.getFormatSpecifier(),eDefOverride,checkVisible);
  updateCursor("String_Node_Str",eObj,eObj.getCursor(),eRefObj == null ? null : eRefObj.getCursor(),eDefObj == null ? null : eDefObj.getCursor(),eDefOverride,checkVisible);
}

Fixed version (ground truth):
/** 
 * Updates chart element MarkerRange.
 * @param eObj chart element object.
 * @param eRefObj reference chart element object.
 * @param eDefObj default chart element object.
 * @param eDefOverride indicates if using default object to override target object if target is null.
 * @param checkVisible indicates if still checking visible of chart element before updating properties of chart element.
 * @generated Don't change this method manually.
 */
protected void updateMarkerRangeImpl(String name,EObject eParentObj,MarkerRange eObj,MarkerRange eRefObj,MarkerRange eDefObj,boolean eDefOverride,boolean checkVisible){
  if (eObj == null) {
    if (eRefObj != null) {
      eObj=eRefObj.copyInstance();
      ChartElementUtil.setEObjectAttribute(eParentObj,name,eObj,false);
    }
 else     if (eDefOverride && eDefObj != null) {
      eObj=eDefObj.copyInstance();
      ChartElementUtil.setEObjectAttribute(eParentObj,name,eObj,false);
      return;
    }
  }
  if (eObj == null || (eRefObj == null && eDefObj == null)) {
    return;
  }
  if (!eObj.isSetLabelAnchor()) {
    if (eRefObj != null && eRefObj.isSetLabelAnchor()) {
      eObj.setLabelAnchor(eRefObj.getLabelAnchor());
    }
 else     if (eDefObj != null && eDefObj.isSetLabelAnchor()) {
      eObj.setLabelAnchor(eDefObj.getLabelAnchor());
    }
  }
  updateLineAttributes("String_Node_Str",eObj,eObj.getOutline(),eRefObj == null ? null : eRefObj.getOutline(),eDefObj == null ? null : eDefObj.getOutline(),eDefOverride,checkVisible);
  updateFill("String_Node_Str",eObj,eObj.getFill(),eRefObj == null ? null : eRefObj.getFill(),eDefObj == null ? null : eDefObj.getFill(),eDefOverride,checkVisible);
  if (eObj.getStartValue() == null) {
    if (eRefObj != null && eRefObj.getStartValue() != null) {
      eObj.setStartValue(eRefObj.getStartValue().copyInstance());
    }
 else     if (eDefObj != null && eDefObj.getStartValue() != null) {
      eObj.setStartValue(eDefObj.getStartValue().copyInstance());
    }
  }
  if (eObj.getEndValue() == null) {
    if (eRefObj != null && eRefObj.getEndValue() != null) {
      eObj.setEndValue(eRefObj.getEndValue().copyInstance());
    }
 else     if (eDefObj != null && eDefObj.getEndValue() != null) {
      eObj.setEndValue(eDefObj.getEndValue().copyInstance());
    }
  }
  updateLabel("String_Node_Str",eObj,eObj.getLabel(),eRefObj == null ? null : eRefObj.getLabel(),eDefObj == null ? null : eDefObj.getLabel(),eDefOverride,checkVisible);
  updateFormatSpecifier("String_Node_Str",eObj,eObj.getFormatSpecifier(),eRefObj == null ? null : eRefObj.getFormatSpecifier(),eDefObj == null ? null : eDefObj.getFormatSpecifier(),eDefOverride,checkVisible);
  updateCursor("String_Node_Str",eObj,eObj.getCursor(),eRefObj == null ? null : eRefObj.getCursor(),eDefObj == null ? null : eDefObj.getCursor(),eDefOverride,checkVisible);
}