public function parse()
{
$file = new File($this->filename);
if (!$file->exists()) {
throw new FileNotFoundException(sprintf('File (%s) does not exist.', $this->filename));
}
$parser = $this->getParser();
$traverser = new NodeTraverser();
$traverser->addVisitor($this);
$traverser->traverse($parser->parse($file->read()));
}