protected function determineDataType($data) { if (is_array($data)) { return 'collection'; } if ($data instanceof Traversable) { return 'collection'; } return 'item'; }