Program: 93688
Project: 93688
Buggy source:
/** 
 * {@inheritDoc}
 * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseModelElementChangeLeftTarget(org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget)
 */
@Override public Object caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object){
  if (!object.isRemote()) {
    EObject leftElement=object.getLeftElement();
    View leftElementNotation=leftSemantic2notationMap.get(leftElement);
    if (leftElementNotation == null) {
      return null;
    }
    annotateNotation(leftElementNotation,Constants.STYLE_STATE_VALUE_ADDED);
    for (TreeIterator<EObject> iter=leftElement.eAllContents(); iter.hasNext(); ) {
      EObject element=iter.next();
      View notationElement=leftSemantic2notationMap.get(element);
      if (notationElement == null) {
        continue;
      }
      annotateNotation(notationElement,Constants.STYLE_STATE_VALUE_ADDED);
    }
    EObject staticElement=merge2StaticSemanticMap.get(leftElement);
    if (staticElement != null) {
      View staticNotationElement=staticSemantic2notationMap.get(staticElement);
      if (staticNotationElement != null)       annotateNotation(staticNotationElement,Constants.STYLE_STATE_VALUE_ADDED);
      for (TreeIterator<EObject> iter=staticElement.eAllContents(); iter.hasNext(); ) {
        EObject element=iter.next();
        staticNotationElement=staticSemantic2notationMap.get(element);
        if (staticNotationElement != null)         annotateNotation(staticNotationElement,Constants.STYLE_STATE_VALUE_ADDED);
      }
    }
    return object;
  }
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseModelElementChangeLeftTarget(org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget)
 */
@Override public Object caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object){
  Object result=null;
  if (!object.isRemote()) {
    EObject leftElement=object.getLeftElement();
    View leftElementNotation=leftSemantic2notationMap.get(leftElement);
    if (leftElementNotation == null) {
      return null;
    }
    annotateNotation(leftElementNotation,Constants.STYLE_STATE_VALUE_ADDED);
    for (TreeIterator<EObject> iter=leftElement.eAllContents(); iter.hasNext(); ) {
      EObject element=iter.next();
      View notationElement=leftSemantic2notationMap.get(element);
      if (notationElement == null) {
        continue;
      }
      annotateNotation(notationElement,Constants.STYLE_STATE_VALUE_ADDED);
    }
    EObject staticElement=merge2StaticSemanticMap.get(leftElement);
    if (staticElement != null) {
      View staticNotationElement=staticSemantic2notationMap.get(staticElement);
      if (staticNotationElement != null)       annotateNotation(staticNotationElement,Constants.STYLE_STATE_VALUE_ADDED);
      for (TreeIterator<EObject> iter=staticElement.eAllContents(); iter.hasNext(); ) {
        EObject element=iter.next();
        staticNotationElement=staticSemantic2notationMap.get(element);
        if (staticNotationElement != null)         annotateNotation(staticNotationElement,Constants.STYLE_STATE_VALUE_ADDED);
      }
    }
    result=object;
  }
  return result;
}