code: public function onLog(Event $event)
      {
          $args = $event['args'];
          $meta = \array_merge(array(
              'caption' => null,
              'columns' => array(),
              'sortable' => true,
              'totalCols' => array(),
          ), $event['meta']);
          $argCount = \count($args);
          $data = null;
          for ($i = 0; $i < $argCount; $i++) {
              if (\is_array($args[$i])) {
                  if ($data === null) {
                      $data = $args[$i];
                  } elseif (!$meta['columns']) {
                      $meta['columns'] = $args[$i];
                  }
              } elseif ($args[$i] instanceof \Traversable) {
                  if ($data === null) {
                      $data = $args[$i];
                  }
              } elseif (\is_string($args[$i]) && !$meta['caption']) {
                  $meta['caption'] = $args[$i];
              }
              unset($args[$i]);
          }
          $event->setValues(array(
              'method' => $event['method'],
              'args' => array($data),
              'meta' => $meta,
          ));
          return $event;
      }
docs: Handle table() call
  
  @param Event $event event object
  
  @return Event