protected static function determineHintLocation($hint)
    {
        if (is_string($hint) && file_exists($hint))
        {
            $path = $hint;
        }
        elseif (is_object($hint) || class_exists($hint))
        {
            $r    = new \ReflectionClass($hint);
            $path = $r->getFileName();
        }

        // we need full path. could be weird link
        $path = realpath($path);

        if (false === $path)
        {
            throw new ExceptionPackageInfo('Is it real? Could not determine real location of hint.');
        }

        return static::sanitisePaths($path);
    }