Program: 121748
Project: 121748
Buggy source:
private void createAllTypeDialog(){
  IStructuredSelection selection=(IStructuredSelection)treeViewer.getSelection();
  if (selection.size() == 1) {
    Object obj=selection.getFirstElement();
    if (obj instanceof ParameterInfo) {
      ParameterInfo info=(ParameterInfo)obj;
      if (info.getName().contains("String_Node_Str")) {
        AllTypeDialog alltype;
        try {
          alltype=new AllTypeDialog(parentShell,info,URLValue,serverConfig);
          if (alltype.open() == Window.OK) {
            String selectedName=alltype.getSelectedName();
            Map<String,String> labelAndNameSpaceMap=alltype.getLabelAndNameSpaceMap();
            if (selectedName.contains("String_Node_Str")) {
              String namespace=labelAndNameSpaceMap.get(selectedName);
              String[] ret=getNameSpaceAndType(namespace);
              ParameterInfo newChild=new ParameterInfo();
              newChild.setName(selectedName);
              newChild.setType(selectedName.split("String_Node_Str")[1]);
              newChild.setParent(info);
              info.getParameterInfos().clear();
              if (info.getName().indexOf("String_Node_Str") > 0) {
                info.setName(info.getName().substring(0,info.getName().indexOf("String_Node_Str")));
              }
              info.setName(info.getName() + "String_Node_Str" + ret[0]+ "String_Node_Str"+ ret[1]+ "String_Node_Str");
              info.getParameterInfos().add(newChild);
              treeViewer.refresh();
            }
 else             if (selectedName.contains("String_Node_Str")) {
              String namespace=labelAndNameSpaceMap.get(selectedName);
              String[] ret=getNameSpaceAndType(namespace);
              ParameterInfo selectParameterInfo=alltype.getSelectedParaInfo();
              selectParameterInfo.setArraySize(-1);
              selectParameterInfo.setParent(info);
              info.getParameterInfos().clear();
              if (info.getName().indexOf("String_Node_Str") > 0) {
                info.setName(info.getName().substring(0,info.getName().indexOf("String_Node_Str")));
              }
              info.setName(info.getName() + "String_Node_Str" + ret[0]+ "String_Node_Str"+ ret[1]+ "String_Node_Str");
              info.getParameterInfos().add(selectParameterInfo);
              treeViewer.refresh();
            }
          }
        }
 catch (        Exception e) {
          ExceptionHandler.process(e);
        }
      }
    }
  }
}

Fixed version (ground truth):
private void createAllTypeDialog(){
  IStructuredSelection selection=(IStructuredSelection)treeViewer.getSelection();
  if (selection.size() == 1) {
    Object obj=selection.getFirstElement();
    if (obj instanceof ParameterInfo) {
      ParameterInfo info=(ParameterInfo)obj;
      if (info.getName().contains("String_Node_Str")) {
        AllTypeDialog alltype;
        try {
          alltype=new AllTypeDialog(parentShell,info,URLValue,serverConfig);
          if (alltype.open() == Window.OK) {
            String selectedName=alltype.getSelectedName();
            Map<String,String> labelAndNameSpaceMap=alltype.getLabelAndNameSpaceMap();
            if (selectedName.contains("String_Node_Str")) {
              String namespace=labelAndNameSpaceMap.get(selectedName);
              String[] ret=getNameSpaceAndType(namespace);
              ParameterInfo newChild=new ParameterInfo();
              newChild.setName(selectedName);
              newChild.setType(selectedName.split("String_Node_Str")[1]);
              newChild.setParent(info);
              info.getParameterInfos().clear();
              if (info.getName().indexOf("String_Node_Str") > 0) {
                info.setName(info.getName().substring(0,info.getName().indexOf("String_Node_Str")));
              }
              info.setName(info.getName() + "String_Node_Str" + ret[0]+ "String_Node_Str"+ ret[1]+ "String_Node_Str");
              info.getParameterInfos().add(newChild);
              treeViewer.refresh();
            }
 else             if (selectedName.contains("String_Node_Str")) {
              String namespace=labelAndNameSpaceMap.get(selectedName);
              String[] ret=getNameSpaceAndType(namespace);
              ParameterInfo selectParameterInfo=alltype.getSelectedParaInfo();
              info.getParameterInfos().clear();
              if (info.getName().indexOf("String_Node_Str") > 0) {
                info.setName(info.getName().substring(0,info.getName().indexOf("String_Node_Str")));
              }
              info.setName(info.getName() + "String_Node_Str" + ret[0]+ "String_Node_Str"+ ret[1]+ "String_Node_Str");
              List<ParameterInfo> childAttributes=selectParameterInfo.getParameterInfos();
              for (              ParameterInfo child : childAttributes) {
                info.getParameterInfos().add(child);
                child.setParent(info);
              }
              treeViewer.refresh();
            }
          }
        }
 catch (        Exception e) {
          ExceptionHandler.process(e);
        }
      }
    }
  }
}