build-coordinator/src/main/java/org/jboss/pnc/coordinator/builder/DefaultBuildCoordinator.java
@Override
    public BuildSetTask build(
            BuildConfigurationSet buildConfigurationSet,
            User user, BuildOptions buildOptions) throws CoreException {
        synchronized (buildMethodLock) {
            BuildSetTask buildSetTask = buildTasksInitializer.createBuildSetTask(
                    buildConfigurationSet,
                    user,
                    buildOptions,
                    this::buildRecordIdSupplier,
                    buildQueue.getUnfinishedTasks());
            updateBuildSetTaskStatus(buildSetTask, BuildSetStatus.NEW);

            validateAndEnqueueBuildConfigurationSetTasks(buildConfigurationSet, buildOptions, buildSetTask);
            return buildSetTask;
        }
    }
@Override
    public BuildSetTask build(
            BuildConfigurationSet buildConfigurationSet,
            User user, BuildOptions buildOptions) throws CoreException {
        synchronized (buildMethodLock) {
            BuildSetTask buildSetTask = buildTasksInitializer.createBuildSetTask(
                    buildConfigurationSet,
                    user,
                    buildOptions,
                    this::buildRecordIdSupplier,
                    buildQueue.getUnfinishedTasks());
            updateBuildSetTaskStatus(buildSetTask, BuildSetStatus.NEW);

            validateAndEnqueueBuildConfigurationSetTasks(buildConfigurationSet, buildOptions, buildSetTask);
            return buildSetTask;
        }
    }
Run a set of builds.  Only the current/latest version of builds in the given set will be executed.  The
order of execution is determined by the dependency relations between the build configurations.

@param buildConfigurationSet The set of builds to be executed.
@param user The user who triggered the build.
@param buildOptions Customization of a build specified by user

@return The new build set task
@throws CoreException Thrown if there is a problem initializing the build