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;
        }
    }
@ 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
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 .