@Override
  public void execute(
      IProject project, IProjectFacetVersion version, Object object, IProgressMonitor progress)
      throws CoreException {
    if (!project.hasNature(PHPNature.ID)) {
      return;
    }

    progress.subTask("Installing composer nature");

    // add the composer nature
    ResourceUtil.addNature(project, progress, ComposerNature.NATURE_ID);

    progress.subTask("Installing composer buildpath");

    // maybe comment out this one:
    // create composer buildpath entry

    //		if (ComposerPlugin.getDefault().isBuildpathContainerEnabled()) {
    //			IScriptProject scriptProject = DLTKCore.create(project);
    //			IBuildpathContainer composerContainer = new ComposerBuildpathContainer(
    //					new Path(ComposerBuildpathContainerInitializer.CONTAINER),
    //					scriptProject);
    //			List<IBuildpathEntry> entries = new ArrayList<IBuildpathEntry>();
    //			entries.add(DLTKCore.newContainerEntry(composerContainer.getPath()));
    //
    //			// add the composer buildpathentry to the project
    //			BuildPathUtils.addEntriesToBuildPath(scriptProject, entries);
    //
    //			BuildpathUtil.setupVendorBuildpath(scriptProject, progress);
    //
    //		}
  }
 protected void applyNatures(String[] natures, IProject project, IProgressMonitor monitor)
     throws CoreException {
   for (String nature : natures) {
     if (!project.hasNature(nature)) {
       ResourceUtil.addNature(project, monitor, nature);
     }
   }
 }