SubMonitor sub = SubMonitor.convert(monitor, 5);
sub.beginTask("Adding " + natureId + " nature to project.", 5);
IProjectDescription description = theProject.getDescription();
String[] natures = description.getNatureIds();
sub.worked(1);
String[] newNatures = new String[natures.length + 1];
System.arraycopy(natures, 0, newNatures, 0, natures.length);
newNatures[natures.length] = natureId;
sub.worked(1);