Program: 141833
Project: 141833
Buggy source:
@SuppressWarnings("String_Node_Str") public boolean finish(){
  item.getProperty().setLabel(item.getProperty().getDisplayName());
  String label=item.getProperty().getLabel();
  String version=item.getProperty().getVersion();
  String wsdlFileName=label + "String_Node_Str" + version+ "String_Node_Str";
  IProxyRepositoryFactory factory=ProxyRepositoryFactory.getInstance();
  if (creation) {
    item.setConnection(ServicesFactory.eINSTANCE.createServiceConnection());
    item.getProperty().setId(factory.getNextId());
    try {
      factory.create(item,pathToSave);
    }
 catch (    PersistenceException e) {
      ExceptionHandler.process(e);
    }
    repositoryNode=new RepositoryNode(new RepositoryViewObject(item.getProperty()),repositoryNode.getParent(),ENodeType.REPOSITORY_ELEMENT);
  }
  IProject currentProject;
  try {
    currentProject=ResourceModelUtils.getProject(ProjectManager.getInstance().getCurrentProject());
  }
 catch (  PersistenceException e) {
    ExceptionHandler.process(e);
    return false;
  }
  String foldPath=item.getState().getPath();
  String folder="String_Node_Str";
  if (!foldPath.equals("String_Node_Str")) {
    folder="String_Node_Str" + foldPath;
  }
  IFile fileTemp=currentProject.getFolder("String_Node_Str" + folder).getFile(wsdlFileName);
  try {
    item.setConnection(ServicesFactory.eINSTANCE.createServiceConnection());
    ((ServiceConnection)item.getConnection()).setWSDLPath(path);
    ((ServiceConnection)item.getConnection()).getServicePort().clear();
    ByteArrayOutputStream baos=new ByteArrayOutputStream();
    if (createWSDL) {
      TemplateProcessor.processTemplate(TEMPLATE_SERVICE_WSDL,Collections.singletonMap("String_Node_Str",(Object)label),new OutputStreamWriter(baos));
    }
 else {
      readWsdlFile(new File(path),baos);
    }
    ByteArrayInputStream byteArrayInputStream=new ByteArrayInputStream(baos.toByteArray());
    if (!fileTemp.exists()) {
      fileTemp.create(byteArrayInputStream,true,null);
    }
 else {
      fileTemp.setContents(byteArrayInputStream,0,null);
    }
    ReferenceFileItem createReferenceFileItem=null;
    if (item.getReferenceResources().isEmpty()) {
      createReferenceFileItem=PropertiesFactory.eINSTANCE.createReferenceFileItem();
      ByteArray byteArray=PropertiesFactory.eINSTANCE.createByteArray();
      createReferenceFileItem.setContent(byteArray);
      createReferenceFileItem.setExtension("String_Node_Str");
      item.getReferenceResources().add(createReferenceFileItem);
    }
 else {
      createReferenceFileItem=(ReferenceFileItem)item.getReferenceResources().get(0);
    }
    createReferenceFileItem.getContent().setInnerContent(baos.toByteArray());
    populateModelFromWsdl(factory,fileTemp.getLocation().toPortableString(),item,repositoryNode);
  }
 catch (  SystemException e) {
    ExceptionHandler.process(e);
  }
catch (  CoreException e) {
    ExceptionHandler.process(e);
  }
catch (  IOException e) {
    ExceptionHandler.process(e);
  }
  try {
    factory.save(item);
    ProxyRepositoryFactory.getInstance().saveProject(ProjectManager.getInstance().getCurrentProject());
    RepositoryManager.refreshCreatedNode(ESBRepositoryNodeType.SERVICES);
    repositoryNode=RepositoryNodeUtilities.getRepositoryNode(new RepositoryViewObject(item.getProperty()));
    OpenWSDLEditorAction action=new OpenWSDLEditorAction();
    action.setRepositoryNode(repositoryNode);
    action.run();
    if (checkImport.isVisible() && checkImport.getSelection()) {
      PublishMetadataAction publishAction=new PublishMetadataAction();
      publishAction.setNodes(Arrays.asList(new RepositoryNode[]{repositoryNode}));
      publishAction.run();
    }
    return true;
  }
 catch (  PersistenceException e) {
    e.printStackTrace();
  }
  return false;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") public boolean finish(){
  item.getProperty().setLabel(item.getProperty().getDisplayName());
  String label=item.getProperty().getLabel();
  String version=item.getProperty().getVersion();
  String wsdlFileName=label + "String_Node_Str" + version+ "String_Node_Str";
  IProxyRepositoryFactory factory=ProxyRepositoryFactory.getInstance();
  if (creation) {
    item.setConnection(ServicesFactory.eINSTANCE.createServiceConnection());
    item.getProperty().setId(factory.getNextId());
    try {
      factory.create(item,pathToSave);
    }
 catch (    PersistenceException e) {
      ExceptionHandler.process(e);
    }
    repositoryNode=new RepositoryNode(new RepositoryViewObject(item.getProperty()),repositoryNode.getParent(),ENodeType.REPOSITORY_ELEMENT);
  }
  IProject currentProject;
  try {
    currentProject=ResourceModelUtils.getProject(ProjectManager.getInstance().getCurrentProject());
  }
 catch (  PersistenceException e) {
    ExceptionHandler.process(e);
    return false;
  }
  String foldPath=item.getState().getPath();
  String folder="String_Node_Str";
  if (!foldPath.equals("String_Node_Str")) {
    folder="String_Node_Str" + foldPath;
  }
  IFile fileTemp=currentProject.getFolder("String_Node_Str" + folder).getFile(wsdlFileName);
  try {
    item.setConnection(ServicesFactory.eINSTANCE.createServiceConnection());
    ((ServiceConnection)item.getConnection()).setWSDLPath(path);
    ((ServiceConnection)item.getConnection()).getServicePort().clear();
    ByteArrayOutputStream baos=new ByteArrayOutputStream();
    if (createWSDL) {
      TemplateProcessor.processTemplate(TEMPLATE_SERVICE_WSDL,Collections.singletonMap("String_Node_Str",(Object)label),new OutputStreamWriter(baos));
    }
 else {
      readWsdlFile(new File(path),baos);
    }
    ByteArrayInputStream byteArrayInputStream=new ByteArrayInputStream(baos.toByteArray());
    if (!fileTemp.exists()) {
      fileTemp.create(byteArrayInputStream,true,null);
    }
 else {
      fileTemp.setContents(byteArrayInputStream,0,null);
    }
    ReferenceFileItem createReferenceFileItem=null;
    if (item.getReferenceResources().isEmpty()) {
      createReferenceFileItem=PropertiesFactory.eINSTANCE.createReferenceFileItem();
      ByteArray byteArray=PropertiesFactory.eINSTANCE.createByteArray();
      createReferenceFileItem.setContent(byteArray);
      createReferenceFileItem.setExtension("String_Node_Str");
      item.getReferenceResources().add(createReferenceFileItem);
    }
 else {
      createReferenceFileItem=(ReferenceFileItem)item.getReferenceResources().get(0);
    }
    createReferenceFileItem.getContent().setInnerContent(baos.toByteArray());
    populateModelFromWsdl(factory,fileTemp.getLocation().toPortableString(),item,repositoryNode);
  }
 catch (  SystemException e) {
    ExceptionHandler.process(e);
  }
catch (  CoreException e) {
    ExceptionHandler.process(e);
  }
catch (  IOException e) {
    ExceptionHandler.process(e);
  }
  try {
    factory.save(item);
    ProxyRepositoryFactory.getInstance().saveProject(ProjectManager.getInstance().getCurrentProject());
    repositoryNode=RepositoryNodeUtilities.getRepositoryNode(new RepositoryViewObject(item.getProperty()));
    OpenWSDLEditorAction action=new OpenWSDLEditorAction();
    action.setRepositoryNode(repositoryNode);
    action.run();
    if (checkImport.isVisible() && checkImport.getSelection()) {
      PublishMetadataAction publishAction=new PublishMetadataAction();
      publishAction.setNodes(Arrays.asList(new RepositoryNode[]{repositoryNode}));
      publishAction.run();
    }
    return true;
  }
 catch (  PersistenceException e) {
    e.printStackTrace();
  }
  return false;
}