code: def force(self, owner, builderNames=None, builderid=None, **kwargs):
          
          builderNames = yield self.computeBuilderNames(builderNames, builderid)
          if not builderNames:
              raise KeyError("builderNames not specified or not supported")
  
          # Currently the validation code expects all kwargs to be lists
          # I don't want to refactor that now so much sure we comply...
          kwargs = dict((k, [v]) if not isinstance(v, list) else (k, v)
                        for k, v in kwargs.items())
  
          # probably need to clean that out later as the IProperty is already a
          # validation mechanism
          collector = ValidationErrorCollector()
          reason = yield collector.collectValidationErrors(self.reason.fullName,
                                                           self.reason.getFromKwargs, kwargs)
          if owner is None or owner == "anonymous":
              owner = yield collector.collectValidationErrors(self.username.fullName,
                                                              self.username.getFromKwargs, kwargs)
  
          properties, changeids, sourcestamps = yield self.gatherPropertiesAndChanges(
              collector, **kwargs)
  
          collector.maybeRaiseCollectedErrors()
  
          properties.setProperty("reason", reason, "Force Build Form")
          properties.setProperty("owner", owner, "Force Build Form")
  
          r = self.reasonString % {'owner': owner, 'reason': reason}
  
          # turn sourcestamps into a list
          for cb, ss in sourcestamps.items():
              ss['codebase'] = cb
          sourcestamps = list(sourcestamps.values())
  
          # everything is validated, we can create our source stamp, and
          # buildrequest
          res = yield self.addBuildsetForSourceStampsWithDefaults(
              reason=r,
              sourcestamps=sourcestamps,
              properties=properties,
              builderNames=builderNames,
          )
  
          return res
docs: We check the parameters, and launch the build, if everything is correct