Javadoc
Helper that parses given expression string using the configured parser. The
expression string can contain any number of expressions all contained in "${...}"
markers. For instance: "foo${expr0}bar${expr1}". The static pieces of text will
also be returned as Expressions that just return that static piece of text. As a
result, evaluating all returned expressions and concatenating the results produces
the complete evaluated string. Unwrapping is only done of the outermost delimiters
found, so the string 'hello ${foo${abc}}' would break into the pieces 'hello ' and
'foo${abc}'. This means that expression languages that used ${..} as part of their
functionality are supported without any problem. The parsing is aware of the
structure of an embedded expression. It assumes that parentheses '(', square
brackets '[' and curly brackets '}' must be in pairs within the expression unless
they are within a string literal and a string literal starts and terminates with a
single quote '.