/** Creates a IProject. */
  public static IProject createProject(String projectName) throws CoreException {
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    IProject project = root.getProject(projectName);
    if (!project.exists()) {
      project.create(null);
    } else {
      project.refreshLocal(IResource.DEPTH_INFINITE, null);
    }

    if (!project.isOpen()) {
      project.open(null);
    }

    if (!project.hasNature(JavaCore.NATURE_ID)) {
      addNatureToProject(project, JavaCore.NATURE_ID, null);
    }

    return project;
  }