protected function gatherPluginTypeInfo($job_list) {
    // Assemble a basic array of plugin type data, that we will successively add
    // data to.
    $plugin_type_data = array();
    foreach ($job_list as $job) {
      $plugin_manager_service_id = $job['service_id'];
      $plugin_type_id = $job['type_id'];

      // Get the class name for the service.
      // Babysit modules that don't define services properly!
      // (I'm looking at Physical.)
      try {
        $service = \Drupal::service($plugin_manager_service_id);
      }
      catch (\Throwable $ex) {
        continue;
      }

      $service = \Drupal::service($plugin_manager_service_id);
      $service_class_name = get_class($service);
      $service_component_namespace = $this->getClassComponentNamespace($service_class_name);

      $plugin_type_data[$plugin_type_id] = [
        'type_id' => $plugin_type_id,
        'service_id' => $plugin_manager_service_id,
        'service_class_name' => $service_class_name,
        'service_component_namespace' => $service_component_namespace,
        // Plugin module may replace this if present.
        'type_label' => $plugin_type_id,
      ];

      // Add data from the plugin type manager service.
      // This gets us the subdirectory, interface, and annotation name.
      $this->addPluginTypeServiceData($plugin_type_data[$plugin_type_id]);

      // Try to detect a base class for plugins
      $this->addPluginBaseClass($plugin_type_data[$plugin_type_id]);

      // Try to detect a config schema prefix.
      $this->addConfigSchemaPrefix($plugin_type_data[$plugin_type_id]);

      // Add data about the factory method of the base class, if any.
      $this->addConstructionData($plugin_type_data[$plugin_type_id]);

      // Do the large arrays last, so they are last in the stored data so it's
      // easier to read.
      // Add data from the plugin annotation class.
      $this->addPluginAnnotationData($plugin_type_data[$plugin_type_id]);

      // Add data from the plugin interface (which the manager service gave us).
      $this->addPluginMethods($plugin_type_data[$plugin_type_id]);
    }

    // Get plugin type information if Plugin module is present.
    // We get data on all plugin types in one go, so this handles the whole
    // data.
    $this->addPluginModuleData($plugin_type_data);

    //drush_print_r($plugin_type_data);

    return $plugin_type_data;
  }