public function fileIsReadable($filePath)
    {
        $filePath = realpath($filePath);

        // Return the cache, if we have any.
        if (isset(static::$isReadableCache[$filePath]) === true) {
            return static::$isReadableCache[$filePath];
        }

        // Set the cache and return it.
        return static::$isReadableCache[$filePath] = is_readable($filePath) && is_file($filePath);
    }