code: protected void execute(StoreOperation storeOperation, MavenProject rootModule, Set<MavenProject> executedModules) throws MojoExecutionException, MojoFailureException {
              synchronized (cachingStoreProvider) {
                  Store store = getStore(rootModule);
                  if (isResetStoreBeforeExecution() && executedModules.isEmpty()) {
                      store.reset();
                  }
                  try {
                      storeOperation.run(rootModule, store);
                  } finally {
                      releaseStore(store);
                  }
              }
      }
docs: Execute an operation with the store.
  
  This method enforces thread safety based on the store factory.
  
  @param storeOperation The store.
  @param rootModule     The root module to use for store initialization.
  @throws MojoExecutionException On execution errors.
  @throws MojoFailureException   On execution failures.