public function isFresh($files, $clearstatcache = false)
    {
        if(is_array($files) === false)
        {
            $files = [ $files ];
        }

        $related = [];

        foreach($files as $file)
        {
            $related = array_merge($related, $this->getRelatedFiles($file));
        }

        $files = array_unique(array_merge($files, $related));

        $anyIsFresh = false;

        foreach($files as $file)
        {
            if($clearstatcache)
            {
                clearstatcache(false, $file);
            }

            $ct = $this->getFilemtimeCurrent($file);
            $mt = $this->getFilemtimeMetadata($file);

            if($ct > $mt)
            {
                $anyIsFresh = true;
            }

            $this->setFilemtime($file, $ct);
        }

        return $anyIsFresh;
    }