public static function fromString($path, $splitPath = true)
    {
        self::validateString($path);

        $parts = $splitPath
            ? explode('.', $path)
            : [$path];

        return new self($parts);
    }