/** * visit a content and process it * * @param vfsStreamContent $content * @return vfsStreamVisitor * @throws \InvalidArgumentException */ public function visit(vfsStreamContent $content) { switch ($content->getType()) { case vfsStreamContent::TYPE_FILE: $this->visitFile($content); break; case vfsStreamContent::TYPE_DIR: $this->visitDirectory($content); break; default: throw new \InvalidArgumentException('Unknown content type ' . $content->getType() . ' for ' . $content->getName()); } return $this; }