Program: 148686
Project: 148686
Buggy source:
private void hookDoubleClickAction(){
  viewer.addDoubleClickListener(new IDoubleClickListener(){
    public void doubleClick(    DoubleClickEvent event){
      IStructuredSelection selection=((IStructuredSelection)viewer.getSelection());
      int elem=getElementType(selection.getFirstElement());
      java.util.List<IAvailableModel> availablemodels=AvailableModelUtil.getAvailableModels();
      for (      IAvailableModel model : availablemodels) {
        model.doubleClickOnElement(elem,DataModelMainPage.this,dataModelName);
      }
switch (elem) {
case 0:
        editConceptAction.run();
      break;
case 1:
    editElementAction.run();
  break;
case 2:
newComplexTypeAction.run();
break;
case 3:
editIdentityConstraintAction.run();
break;
case 4:
editXPathAction.run();
break;
case 5:
changeBaseTypeAction.run();
break;
case 6:
setAnnotationDescriptionsAction.run();
break;
case 7:
editParticleAction.run();
break;
case 8:
changeSubElementGroupAction.run();
break;
case 201:
initxsdEditFacetAction("String_Node_Str");
break;
case 202:
initxsdEditFacetAction("String_Node_Str");
break;
case 203:
initxsdEditFacetAction("String_Node_Str");
break;
case 204:
initxsdEditFacetAction("String_Node_Str");
break;
case 205:
initxsdEditFacetAction("String_Node_Str");
break;
case 206:
initxsdEditFacetAction("String_Node_Str");
break;
case 207:
initxsdEditFacetAction("String_Node_Str");
break;
case 208:
initxsdEditFacetAction("String_Node_Str");
break;
case 209:
initxsdEditFacetAction("String_Node_Str");
break;
case 210:
initxsdEditFacetAction("String_Node_Str");
break;
case 211:
initxsdEditFacetAction("String_Node_Str");
break;
case 212:
initxsdEditFacetAction("String_Node_Str");
break;
case 101:
setAnnotationLabelAction.run();
break;
case 102:
setAnnotationForeignKeyAction.run();
break;
case 103:
setAnnotationForeignKeyInfoAction.run();
break;
case 112:
setAnnotationFKFilterAction.run();
break;
case 104:
break;
case 105:
break;
case 106:
setAnnotationDescriptionsAction.run();
break;
case 107:
setAnnotationWriteAction.run();
break;
case 108:
if (Util.IsEnterPrise()) {
setAnnotationNoAction.run();
}
break;
case 110:
setFacetMsgAction.run();
break;
case -1:
if (drillDownAdapter.canGoInto() == true) drillDownAdapter.goInto();
}
}
}
);
}

Fixed version (ground truth):
private void hookDoubleClickAction(){
  viewer.addDoubleClickListener(new IDoubleClickListener(){
    public void doubleClick(    DoubleClickEvent event){
      IStructuredSelection selection=((IStructuredSelection)viewer.getSelection());
      int elem=getElementType(selection.getFirstElement());
      java.util.List<IAvailableModel> availablemodels=AvailableModelUtil.getAvailableModels();
      for (      IAvailableModel model : availablemodels) {
        model.doubleClickOnElement(elem,DataModelMainPage.this,dataModelName);
      }
switch (elem) {
case 0:
        editConceptAction.run();
      break;
case 1:
    editElementAction.run();
  break;
case 2:
newComplexTypeAction.run();
break;
case 3:
editIdentityConstraintAction.run();
break;
case 4:
editXPathAction.run();
break;
case 5:
changeBaseTypeAction.run();
break;
case 6:
setAnnotationDescriptionsAction.run();
break;
case 7:
editParticleAction.run();
break;
case 8:
changeSubElementGroupAction.run();
break;
case 201:
initxsdEditFacetAction("String_Node_Str");
break;
case 202:
initxsdEditFacetAction("String_Node_Str");
break;
case 203:
initxsdEditFacetAction("String_Node_Str");
break;
case 204:
initxsdEditFacetAction("String_Node_Str");
break;
case 205:
initxsdEditFacetAction("String_Node_Str");
break;
case 206:
initxsdEditFacetAction("String_Node_Str");
break;
case 207:
initxsdEditFacetAction("String_Node_Str");
break;
case 208:
initxsdEditFacetAction("String_Node_Str");
break;
case 209:
initxsdEditFacetAction("String_Node_Str");
break;
case 210:
initxsdEditFacetAction("String_Node_Str");
break;
case 211:
initxsdEditFacetAction("String_Node_Str");
break;
case 212:
initxsdEditFacetAction("String_Node_Str");
break;
case 101:
setAnnotationLabelAction.run();
break;
case 102:
setAnnotationForeignKeyAction.run();
break;
case 103:
setAnnotationForeignKeyInfoAction.run();
break;
case 112:
setAnnotationFKFilterAction.run();
break;
case 104:
break;
case 105:
break;
case 106:
setAnnotationDescriptionsAction.run();
break;
case 107:
setAnnotationWriteAction.run();
break;
case 108:
if (Util.IsEnterPrise()) {
setAnnotationNoAction.run();
}
break;
case 110:
setFacetMsgAction.run();
break;
case 113:
setAnnotationDisplayFomatAction.run();
break;
case -1:
if (drillDownAdapter.canGoInto() == true) drillDownAdapter.goInto();
}
}
}
);
}