protected function createFileReflector(ProjectDescriptorBuilder $builder, $filename)
    {
        $file = new FileReflector($filename, $this->parser->doValidation(), $this->parser->getEncoding());
        $file->setDefaultPackageName($this->parser->getDefaultPackageName());
        $file->setMarkers($this->parser->getMarkers());
        $file->setFilename($this->getRelativeFilename($filename));

        $cachedFiles = $builder->getProjectDescriptor()->getFiles();
        $hash        = $cachedFiles->get($file->getFilename())
            ? $cachedFiles->get($file->getFilename())->getHash()
            : null;

        return $hash === $file->getHash() && !$this->parser->isForced()
            ? null
            : $file;
    }