private function getDiffDataRows($compare_with) {
    $source_name = $this->entity->getName();

    if ($compare_with == self::DEFAULT_DIFF_TARGET) {
      // Target storage is FileStorage, load config from file.
      $target_storage = new OpenYUpgradeToolFeatureStorage($this->configStorage);
      $target_name = $source_name;
    }
    else {
      // Target storage is OpenyUpgradeLog entity revision, load config from
      // revision data field.
      $target_storage = $this->configRevisionStorage;
      $target_name = $this->configRevisionStorage->encode([
        'name' => $source_name,
        'revision_id' => $compare_with,
      ]);
    }

    $diff = $this->configManager->diff($this->configStorage, $target_storage, $source_name, $target_name, NULL);
    $this->diffFormatter->show_header = FALSE;
    $rows = $this->diffFormatter->format($diff);

    // Fix formatting and add whitespaces to diff.
    foreach ($rows as $key => $row) {
      foreach ($row as $row_data_key => $row_data) {
        if (is_array($row_data) && isset($row_data['data']['#markup'])) {
          $rows[$key][$row_data_key]['data']['#prefix'] = '<pre>';
          $rows[$key][$row_data_key]['data']['#suffix'] = '</pre>';
        }
        if ($row_data_key === 0 || $row_data_key === 2) {
          // Remove 0 and 2 columns with symbols "+" and "-".
          // Use only columns with data highlighted by color.
          unset($rows[$key][$row_data_key]);
        }
      }
    }
    return $rows;
  }