public function getFileStatus($pathAndFilename)
    {
        $actualModificationTime = @filemtime($pathAndFilename);
        if (isset($this->filesAndModificationTimes[$pathAndFilename])) {
            if ($actualModificationTime !== false) {
                if ($this->filesAndModificationTimes[$pathAndFilename] === $actualModificationTime) {
                    return self::STATUS_UNCHANGED;
                } else {
                    $this->filesAndModificationTimes[$pathAndFilename] = $actualModificationTime;
                    $this->modificationTimesChanged = true;
                    return self::STATUS_CHANGED;
                }
            } else {
                unset($this->filesAndModificationTimes[$pathAndFilename]);
                $this->modificationTimesChanged = true;
                return self::STATUS_DELETED;
            }
        } else {
            if ($actualModificationTime !== false) {
                $this->filesAndModificationTimes[$pathAndFilename] = $actualModificationTime;
                $this->modificationTimesChanged = true;
                return self::STATUS_CREATED;
            } else {
                return self::STATUS_UNCHANGED;
            }
        }
    }