@Test
    void testNestedBracesAndPhrases() {
        String userQuery = "(\"Secondary Curriculum\" (\"Key Stage 3\" OR KS3) (\"Key Stage 4\" OR KS4)) ";
        tester.assertParsed(
                "OR \"Secondary Curriculum\" \"Key Stage 3\" OR KS3 \"Key Stage 4\" OR KS4",
                userQuery, Query.Type.ALL);
        userQuery = "(\"Grande distribution\" (\"developpement durable\" OR \"commerce equitable\"))";
        tester.assertParsed(
                "OR \"Grande distribution\" \"developpement durable\" OR \"commerce equitable\"",
                userQuery, Query.Type.ALL);
        userQuery = "(\"road tunnel\" (\"tunnel management\" OR AID OR \"traffic systems\" OR supervision OR "
                + "\"decision aid system\") (Spie OR Telegra OR Telvent OR Steria)) ";
        tester.assertParsed(
                "OR \"road tunnel\" \"tunnel management\" OR AID OR \"traffic systems\" OR supervision OR \"decision aid system\" Spie OR Telegra OR Telvent OR Steria",
                userQuery, Query.Type.ALL);
    }
Shortcut terms are represented as any other terms, but can be rewritten downstream.
The information about added bangs is available from the origin as shown (do not use the weight to find this)
container-search/src/test/java/com/yahoo/prelude/query/parser/test/ParseTestCase.java