code: @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;
          }
      }
docs: 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