code: protected function methodTable($array, $columns = array())
      {
          if (!\is_array($array)) {
              return $this->dump($array);
          }
          $keys = $columns ?: $this->debug->methodTable->colKeys($array);
          $table = array();
          $classnames = array();
          if ($this->debug->abstracter->isAbstraction($array) && $array['traverseValues']) {
              $array = $array['traverseValues'];
          }
          foreach ($array as $k => $row) {
              $values = $this->debug->methodTable->keyValues($row, $keys, $objInfo);
              $values = $this->methodTableCleanValues($values);
              $table[$k] = $values;
              $classnames[$k] = $objInfo['row']
                  ? $objInfo['row']['className']
                  : '';
          }
          if (\array_filter($classnames)) {
              foreach ($classnames as $k => $classname) {
                  $table[$k] = \array_merge(
                      array('___class_name' => $classname),
                      $table[$k]
                  );
              }
          }
          return $table;
      }
docs: Normalize table data
  
  Ensures each row has all key/values and that they're in the same order
  if any row is an object, each row will get a ___class_name value
  
  This builds table rows usable by ChromeLogger, Text, and <script>
  
  @param array $array   array to debug
  @param array $columns columns to output
  
  @return array