public function handle(string $handles)
    {
        // If the handles doesn't start as "//some.domain.com/foo" we should
        // assume that it doesn't belong to any subdomain, otherwise we
        // need to split the value to "some.domain.com" and "foo".
        if (\is_null($handles) || ! Str::startsWith($handles, ['//', 'http://', 'https://'])) {
            $this->prefix = $handles;
        } else {
            $handles = \substr(\str_replace(['http://', 'https://'], '//', $handles), 2);
            $fragments = \explode('/', $handles, 2);
            $this->domain = \array_shift($fragments);
            $this->prefix = \array_shift($fragments);
        }

        // It is possible that prefix would be null, in this case assume
        // it handle the main path under the domain.
        ! \is_null($this->prefix) || $this->prefix = '/';

        return $this;
    }