public static function readableFile($value)
    {
        if (empty($value)) {
            throw new \InvalidArgumentException("Empty file path given.");
        }

        if (!is_file($value)) {
            throw new \InvalidArgumentException("Given file path is not a regular file.");
        }

        if (!is_readable($value)) {
            throw new \InvalidArgumentException("Given file is not readable.");
        }

        return $value;
    }