public static String[] splitToSteps(String path, boolean preserveRootAsStep) {
        if (path == null) {
            return null;
        }

        if (preserveRootAsStep && path.equals(SHARE_ROOT)) {
            return new String[] { SHARE_ROOT };
        }

        var includeRoot = preserveRootAsStep && path.startsWith(SHARE_ROOT);
        if (!includeRoot) {
            path = ensureRelative(path);
        }

        // no ambiguity such as "/|\\\\"
        var pathSteps = path.split("" + PATH_SEPARATOR);

        if (includeRoot) {
            pathSteps[0] = SHARE_ROOT; // replace leading ""
        }
        return pathSteps;
    }
@Test
    void splitRelativePreservingRootShouldReturnStepsOnly() {
        assertArrayEquals(new String[] { "1", "2" }, FilesPath.splitToSteps("1/2", true));
    }