public static String fromKarateOptionsTags(List<String> tags) {
        if (tags == null || tags.isEmpty()) {
            return null;
        }
        return fromKarateOptionsTags(tags.toArray(new String[]{}));
    }
@Test
    public void testCucumberOptionsTagsConversion() {
        assertEquals("anyOf('@foo')", Tags.fromKarateOptionsTags("@foo"));
        assertEquals("anyOf('@foo','@bar')", Tags.fromKarateOptionsTags("@foo, @bar"));
        assertEquals("anyOf('@foo') && anyOf('@bar')", Tags.fromKarateOptionsTags("@foo", "@bar"));
        assertEquals("anyOf('@foo') && not('@bar')", Tags.fromKarateOptionsTags("@foo", "~@bar"));
        // detect new syntax and use as-is
        assertEquals("anyOf('@foo')", Tags.fromKarateOptionsTags("anyOf('@foo')"));
    }