src/main/java/com/bazaarvoice/jless/parser/Parser.java
Rule MediaType() {
        return Sequence(
            push(new MediaTypeNode()),
            MediaTypeName(),
            peek(1).addChild(pop()),
            FirstOf(
                Sequence(
                    MediaTypeRestriction(),
                    peek(1).addChild(pop())
                ),
                Optional(Ws0(), push(new SpacingNode(" ")), peek(1).addChild(pop()))
            ),
            peek(1).addChild(pop())
        );
    }
Rule MediaType() {
        return Sequence(
            push(new MediaTypeNode()),
            MediaTypeName(),
            peek(1).addChild(pop()),
            FirstOf(
                Sequence(
                    MediaTypeRestriction(),
                    peek(1).addChild(pop())
                ),
                Optional(Ws0(), push(new SpacingNode(" ")), peek(1).addChild(pop()))
            ),
            peek(1).addChild(pop())
        );
    }
media type name Optional( and "(" Css property ")")