Add "Hoist", a utility to replace literals in a SQL string with placeholders.
By default it uses Calcite's parser, but you can configure to use different quoting, casing, and also to use a different parser such as Babel for other dialects of SQL.
It generates a data structure, Hoisted, that contains a map of where the literals occur within the SQL string. The Hoisted.substitute method generates an alternative SQL string, replacing the literals with a custom string.
It does not call SqlNode.unparse, and therefore does not lose any of the original formatting.
For more examples, see tests added to SqlParserTest and BabelParserTest.