public function assembleComponentList($component_data) {
    // Reset all class properties. We don't normally run this twice, but
    // probably needed for tests.
    $this->requested_data_record = [];

    $this->component_collection = new \DrupalCodeBuilder\Generator\Collection\ComponentCollection;

    // Fiddly different handling for the type in the root component...
    $component_type = $component_data['base'];
    $component_data['component_type'] = $component_type;

    // The name for the root component is its root name, which will be the
    // name of the Drupal extension.
    $this->getComponentsFromData($component_data['root_name'], $component_data, NULL);

    return $this->component_collection;
  }