* {@code forced=false}, return value {@code true} means this invocation did schedule a job, otherwise it
* did not, as another job for same repository was already running.
*/
protected boolean doUpdatePrefixFileAsync(final boolean forced, final MavenRepository mavenRepository) {
final UpdateRepositoryRunnable updateRepositoryJob =
new UpdateRepositoryRunnable(new LoggingProgressListener(log), systemStatusProvider, this,
mavenRepository);
if (forced) {
final boolean canceledPreviousJob =
constrainedExecutor.mustExecute(mavenRepository.getId(), updateRepositoryJob);
if (canceledPreviousJob) {