Remove Submonitor#done call in ApiAnalysisBuilder#buildAll

Only top-level monitors need to call done. See
https://www.eclipse.org/articles/Article-Progress-Monitors/article.html
Responsibilities of callers and callees

Change-Id: I371bf6c0a59083a133a8930ce497134eecef675b
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
Reviewed-on: https://git.eclipse.org/r/c/pde/eclipse.pde.ui/+/175970
Reviewed-by: Hannes Wellmann <wellmann.hannes1@gmx.net>
Tested-by: PDE Bot <pde-bot@eclipse.org>
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java
index e52943b..91b3536 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/ApiAnalysisBuilder.java
@@ -889,45 +889,42 @@
 			return;
 		}
 		SubMonitor localMonitor = SubMonitor.convert(monitor, BuilderMessages.api_analysis_on_0, 4);
-		try {
-			BuildState.setLastBuiltState(this.currentproject, null);
-			this.buildstate = new BuildState();
-			localMonitor.subTask(NLS.bind(BuilderMessages.ApiAnalysisBuilder_initializing_analyzer, currentproject.getName()));
-			cleanupMarkers(this.currentproject);
-			IPluginModelBase currentModel = getCurrentModel();
-			if (currentModel != null) {
-				localMonitor.subTask(NLS.bind(BuilderMessages.building_workspace_profile, currentproject.getName()));
-				localMonitor.split(1);
-				String id = currentModel.getBundleDescription().getSymbolicName();
-				// Compatibility checks
-				IApiComponent apiComponent = wbaseline.getApiComponent(id);
-				Set<IApiComponent> apiComponentMultiple = wbaseline.getAllApiComponents(id);
-				if (!apiComponentMultiple.isEmpty()) {
-					// add the exact match
-					for (Iterator<IApiComponent> iterator = apiComponentMultiple.iterator(); iterator.hasNext();) {
-						IApiComponent iApiComponent = iterator.next();
-						Version workspaceBaselineVersion = new Version(iApiComponent.getVersion());// removes
-																									// qualifier
-						Version currentProjectVersion = currentModel.getBundleDescription().getVersion();
-						if (new Version(currentProjectVersion.getMajor(), currentProjectVersion.getMinor(), currentProjectVersion.getMicro()).compareTo(workspaceBaselineVersion) == 0) {
-							apiComponent = iApiComponent;
-							break;
-						}
+		BuildState.setLastBuiltState(this.currentproject, null);
+		this.buildstate = new BuildState();
+		localMonitor
+				.subTask(NLS.bind(BuilderMessages.ApiAnalysisBuilder_initializing_analyzer, currentproject.getName()));
+		cleanupMarkers(this.currentproject);
+		IPluginModelBase currentModel = getCurrentModel();
+		if (currentModel != null) {
+			localMonitor.subTask(NLS.bind(BuilderMessages.building_workspace_profile, currentproject.getName()));
+			localMonitor.split(1);
+			String id = currentModel.getBundleDescription().getSymbolicName();
+			// Compatibility checks
+			IApiComponent apiComponent = wbaseline.getApiComponent(id);
+			Set<IApiComponent> apiComponentMultiple = wbaseline.getAllApiComponents(id);
+			if (!apiComponentMultiple.isEmpty()) {
+				// add the exact match
+				for (Iterator<IApiComponent> iterator = apiComponentMultiple.iterator(); iterator.hasNext();) {
+					IApiComponent iApiComponent = iterator.next();
+					Version workspaceBaselineVersion = new Version(iApiComponent.getVersion());// removes
+																								// qualifier
+					Version currentProjectVersion = currentModel.getBundleDescription().getVersion();
+					if (new Version(currentProjectVersion.getMajor(), currentProjectVersion.getMinor(),
+							currentProjectVersion.getMicro()).compareTo(workspaceBaselineVersion) == 0) {
+						apiComponent = iApiComponent;
+						break;
 					}
 				}
-				if (apiComponent != null) {
-					if (getAnalyzer() instanceof BaseApiAnalyzer) {
-						((BaseApiAnalyzer)getAnalyzer()).checkBaselineMismatch(baseline, wbaseline);
-					}
-					getAnalyzer().analyzeComponent(this.buildstate, null, null, baseline, apiComponent, new BuildContext(), localMonitor.split(1));
-					localMonitor.split(1);
-					createMarkers();
-					localMonitor.split(1);
-				}
 			}
-		} finally {
-			if (localMonitor != null) {
-				localMonitor.done();
+			if (apiComponent != null) {
+				if (getAnalyzer() instanceof BaseApiAnalyzer) {
+					((BaseApiAnalyzer) getAnalyzer()).checkBaselineMismatch(baseline, wbaseline);
+				}
+				getAnalyzer().analyzeComponent(this.buildstate, null, null, baseline, apiComponent, new BuildContext(),
+						localMonitor.split(1));
+				localMonitor.split(1);
+				createMarkers();
+				localMonitor.split(1);
 			}
 		}
 	}