protected function buildPackageRow(array $package) {
    // Set the basic properties. Should be present to avoid notices in template_preprocess_system_modules_details()
    $row['#required'] = [];
    $row['#requires'] = [];
    $row['#required_by'] = [];

    $modules = system_rebuild_module_data();
    // Get human readable names and status of modules in package.
    $module_names = [];
    foreach ($package['modules'] as $name) {
      if ($modules[$name]->status) {
        $module_names[] = $modules[$name]->info["name"];
      }
      else {
        $module_names[] = $modules[$name]->info["name"] . ' (' . $this->t('disabled') . ')';
      }
    }
    // Put module names and status to requires field of row.
    $row['#requires'] = $module_names;
    $row['name']['#markup'] = $package["name"];
    $row['description']['#markup'] = $this->t($package["description"]);
    $package_status = TRUE;
    foreach ($package['modules'] as $module_name) {
      if (!$this->moduleHandler->moduleExists($module_name)) {
        $package_status = FALSE;
      }
    }
    // Present a checkbox for installing and indicating the status of a module.
    $row['enable'] = [
      '#type' => 'checkbox',
      '#title' => $this->t('Install'),
      '#default_value' => $package_status,
      '#disabled' => $package_status,
    ];

    return $row;
  }