Program: 141645
Project: 141645
Buggy source:
@Override public void create(IProgressMonitor monitor) throws Exception {
  IFile curPomFile=getPomFile();
  if (curPomFile == null) {
    return;
  }
  model=createModel();
  IContainer parent=curPomFile.getParent();
  Model pom=new Model();
  boolean route="String_Node_Str".equals(getJobProcessor().getProcess().getComponentsType());
  if (route) {
    RouteProcess routeProcess=(RouteProcess)getJobProcessor().getProcess();
    boolean publishAsSnapshot=BooleanUtils.toBoolean((String)routeProcess.getAdditionalProperties().get(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT));
    File featurePom=new File(parent.getLocation().toOSString() + File.separator + "String_Node_Str");
    Model fm=new Model();
    fm.setModelVersion("String_Node_Str");
    fm.setParent(model.getParent());
    fm.setGroupId(model.getGroupId());
    fm.setArtifactId(model.getArtifactId() + "String_Node_Str");
    fm.setName(model.getName() + "String_Node_Str");
    fm.setVersion(model.getVersion());
    fm.setPackaging("String_Node_Str");
    Build fmBuild=new Build();
    fmBuild.addPlugin(addFeaturesMavenPlugin(model.getProperties().getProperty("String_Node_Str")));
    fmBuild.addPlugin(addDeployFeatureMavenPlugin(fm.getArtifactId(),fm.getVersion(),publishAsSnapshot));
    Set<JobInfo> subjobs=getJobProcessor().getBuildChildrenJobs();
    if (subjobs != null && !subjobs.isEmpty()) {
      for (      JobInfo subjob : subjobs) {
        if (isRoutelet(subjob) || isJob(subjob)) {
          fmBuild.addPlugin(addFileInstallPlugin(subjob));
        }
      }
    }
    fm.setBuild(fmBuild);
    PomUtil.savePom(monitor,fm,featurePom);
  }
  pom.setModelVersion("String_Node_Str");
  pom.setGroupId(model.getGroupId());
  pom.setArtifactId(model.getArtifactId() + "String_Node_Str");
  pom.setName(model.getName() + "String_Node_Str");
  pom.setVersion(model.getVersion());
  pom.setPackaging("String_Node_Str");
  for (  JobInfo job : getJobProcessor().getBuildChildrenJobs()) {
    if (isRoutelet(job)) {
      IPath currentProjectRootDir=getJobProcessor().getTalendJavaProject().getProject().getLocation();
      IPath routeletPomPath=getProcessor(job).getTalendJavaProject().getProjectPom().getLocation();
      String relativePomPath=routeletPomPath.makeRelativeTo(currentProjectRootDir).toString();
      pom.addModule(relativePomPath);
    }
  }
  pom.addModule("String_Node_Str");
  if (route) {
    pom.addModule("String_Node_Str");
  }
 else {
  }
  pom.setDependencies(model.getDependencies());
  if (pom.getBuild() == null) {
    pom.setBuild(new Build());
  }
  pom.getBuild().addPlugin(addSkipDeployFeatureMavenPlugin());
  File bd=new File(parent.getLocation().toOSString() + File.separator + "String_Node_Str");
  List<Profile> profiles=model.getProfiles();
  for (  Profile profile : profiles) {
    if (profile.getId().equals("String_Node_Str")) {
      List<Plugin> plugins=profile.getBuild().getPlugins();
      for (      Plugin plugin : plugins) {
        if (plugin.getArtifactId().equals("String_Node_Str")) {
          PluginExecution pluginExecution=plugin.getExecutionsAsMap().get("String_Node_Str");
          Xpp3Dom configuration=(Xpp3Dom)pluginExecution.getConfiguration();
          Xpp3Dom archive=new Xpp3Dom("String_Node_Str");
          Xpp3Dom manifestFile=new Xpp3Dom("String_Node_Str");
          manifestFile.setValue("String_Node_Str");
          archive.addChild(manifestFile);
          configuration.addChild(archive);
        }
      }
    }
  }
  model.setName(model.getName() + "String_Node_Str");
  PomUtil.savePom(monitor,model,bd);
  PomUtil.savePom(monitor,pom,curPomFile);
  parent.refreshLocal(IResource.DEPTH_ONE,monitor);
  afterCreate(monitor);
}

Fixed version (ground truth):
@Override public void create(IProgressMonitor monitor) throws Exception {
  IFile curPomFile=getPomFile();
  if (curPomFile == null) {
    return;
  }
  model=createModel();
  IContainer parent=curPomFile.getParent();
  Model pom=new Model();
  boolean route="String_Node_Str".equals(getJobProcessor().getProcess().getComponentsType());
  if (route) {
    RouteProcess routeProcess=(RouteProcess)getJobProcessor().getProcess();
    boolean publishAsSnapshot=BooleanUtils.toBoolean((String)routeProcess.getAdditionalProperties().get(MavenConstants.NAME_PUBLISH_AS_SNAPSHOT));
    File featurePom=new File(parent.getLocation().toOSString() + File.separator + "String_Node_Str");
    Model fm=new Model();
    fm.setModelVersion("String_Node_Str");
    fm.setParent(model.getParent());
    fm.setGroupId(model.getGroupId());
    fm.setArtifactId(model.getArtifactId() + "String_Node_Str");
    fm.setName(model.getName() + "String_Node_Str");
    fm.setVersion(model.getVersion());
    fm.setPackaging("String_Node_Str");
    Build fmBuild=new Build();
    fmBuild.addPlugin(addFeaturesMavenPlugin(model.getProperties().getProperty("String_Node_Str")));
    fmBuild.addPlugin(addDeployFeatureMavenPlugin(fm.getArtifactId(),fm.getVersion(),publishAsSnapshot));
    Set<JobInfo> subjobs=getJobProcessor().getBuildChildrenJobs();
    if (subjobs != null && !subjobs.isEmpty()) {
      int ndx=0;
      for (      JobInfo subjob : subjobs) {
        if (isRoutelet(subjob) || isJob(subjob)) {
          fmBuild.addPlugin(addFileInstallPlugin(subjob,ndx++));
        }
      }
    }
    fm.setBuild(fmBuild);
    PomUtil.savePom(monitor,fm,featurePom);
  }
  pom.setModelVersion("String_Node_Str");
  pom.setGroupId(model.getGroupId());
  pom.setArtifactId(model.getArtifactId() + "String_Node_Str");
  pom.setName(model.getName() + "String_Node_Str");
  pom.setVersion(model.getVersion());
  pom.setPackaging("String_Node_Str");
  for (  JobInfo job : getJobProcessor().getBuildChildrenJobs()) {
    if (isRoutelet(job)) {
      IPath currentProjectRootDir=getJobProcessor().getTalendJavaProject().getProject().getLocation();
      IPath routeletPomPath=getProcessor(job).getTalendJavaProject().getProjectPom().getLocation();
      String relativePomPath=routeletPomPath.makeRelativeTo(currentProjectRootDir).toString();
      pom.addModule(relativePomPath);
    }
  }
  pom.addModule("String_Node_Str");
  if (route) {
    pom.addModule("String_Node_Str");
  }
 else {
  }
  pom.setDependencies(model.getDependencies());
  if (pom.getBuild() == null) {
    pom.setBuild(new Build());
  }
  pom.getBuild().addPlugin(addSkipDeployFeatureMavenPlugin());
  File bd=new File(parent.getLocation().toOSString() + File.separator + "String_Node_Str");
  List<Profile> profiles=model.getProfiles();
  for (  Profile profile : profiles) {
    if (profile.getId().equals("String_Node_Str")) {
      List<Plugin> plugins=profile.getBuild().getPlugins();
      for (      Plugin plugin : plugins) {
        if (plugin.getArtifactId().equals("String_Node_Str")) {
          PluginExecution pluginExecution=plugin.getExecutionsAsMap().get("String_Node_Str");
          Xpp3Dom configuration=(Xpp3Dom)pluginExecution.getConfiguration();
          Xpp3Dom archive=new Xpp3Dom("String_Node_Str");
          Xpp3Dom manifestFile=new Xpp3Dom("String_Node_Str");
          manifestFile.setValue("String_Node_Str");
          archive.addChild(manifestFile);
          configuration.addChild(archive);
        }
      }
    }
  }
  model.setName(model.getName() + "String_Node_Str");
  PomUtil.savePom(monitor,model,bd);
  PomUtil.savePom(monitor,pom,curPomFile);
  parent.refreshLocal(IResource.DEPTH_ONE,monitor);
  afterCreate(monitor);
}