public function addFile($filename)
    {
        if (!is_file($filename)) {
            throw new FileNotFoundException(sprintf("File '%s' not found.", $filename));
        }
        if (pathinfo($filename, PATHINFO_EXTENSION) != 'yml') {
            throw new \InvalidArgumentException(sprintf("Invalid extension for file '%s'.", $filename));
        }

        if (!in_array($filename, $this->files)) {
            $this->files[] = $filename;
        }

        return $this;
    }