public static function setForcedScheme($scheme = null)
    {
        if (! is_string($scheme) && ! is_null($scheme)) {
            throw new InvalidArgumentException(sprintf(
                'Invalid scheme provided; must be an string or a null, "%s" received.',
                is_object($scheme) ? get_class($scheme) : gettype($scheme)
            ));
        }
        static::$forcedScheme = $scheme;
    }