code: private void doRunImpl(Job job, String originalBody) {
  		if (job instanceof AbstractProject) {
  			AbstractProject project = (AbstractProject) job;
  			int delay = project.getQuietPeriod();
  			ParametersAction parametersAction = new ParametersAction();
  
  			if (originalBody != null && !originalBody.isEmpty()) {
  				JSONObject bodyJSON = JSONObject.fromObject(originalBody);
  
  				//  delay
  				if (bodyJSON.has("delay") && bodyJSON.get("delay") != null) {
  					delay = bodyJSON.getInt("delay");
  				}
  
  				//  parameters
  				if (bodyJSON.has("parameters") && bodyJSON.get("parameters") != null) {
  					JSONArray paramsJSON = bodyJSON.getJSONArray("parameters");
  					parametersAction = new ParametersAction(createParameters(project, paramsJSON));
  				}
  			}
  
  			project.scheduleBuild(delay, new Cause.RemoteCause(getOctaneConfiguration() == null ? "non available URL" : getOctaneConfiguration().getUrl(), "octane driven execution"), parametersAction);
  		} else if (job.getClass().getName().equals("org.jenkinsci.plugins.workflow.job.WorkflowJob")) {
  			AbstractProjectProcessor workFlowJobProcessor = JobProcessorFactory.getFlowProcessor(job);
  			workFlowJobProcessor.scheduleBuild(originalBody);
  		}
  	}
docs: TODO: the below flow should go via JobProcessor, once scheduleBuild will be implemented for all of them