Node () { Node node = parseConjunction(); if (node == null || getToken() != TextMateSelectorToken.COMMA) { return node; } List<Node> children = new ArrayList<>(); children.add(node); while (getToken() == TextMateSelectorToken.COMMA) { advance(); Node child = parseConjunction(); if (child == null) break; children.add(child); } return new SelectorList(children); }