/**
  * Create form elements for runner selection and options.
  *
  * @param \Drupal\Core\Form\FormStateInterface $form_state
  *
  * @return array
  * @internal param $runner_settings
  *
  */
 protected function createRunnerElements(FormStateInterface $form_state)
 {
     $runner_settings = $form_state->getValue('update_runner');
     $update_runner = $this->createRunnerInstance($runner_settings, $form_state);
     $elements = $update_runner->buildConfigurationForm([], $form_state);
     $runner_options = [];
     foreach ($this->runnerManager->getDefinitions() as $definition) {
         $runner_options[$definition['id']] = $definition['label'];
     }
     $elements['id'] = ['#type' => 'select', '#title' => $this->t('Update Runner'), '#options' => $runner_options, '#default_value' => $runner_settings['id'], '#limit_validation_errors' => array()];
     $elements += ['#type' => 'fieldset', '#tree' => TRUE, '#title' => $this->t('Update Runner settings')];
     return $elements;
 }
 /**
  * Get definitions for Runner Plugins that should be supported.
  *
  * @return array|\mixed[]|null
  */
 protected function getSupportedRunnerDefinitions() {
   return $this->runnerManager->getDefinitions();
 }