} else {
subModule.log("Skipping sub-project build because no matching targets were found", Project.MSG_VERBOSE);
}
subModule.fireSubBuildFinished(null);
} catch (BuildException e) {
subModule.fireSubBuildFinished(e);
throw e;
} finally {
// add execution times for the current submodule to parent
// project references for access from MetaBuildExecutor
storeExecutionTimes(getProject(), subModule);