|| message.startsWith("#{") || message.startsWith("#!{"))) {
int i = message.indexOf('{');
directives.add(new ValueDirective((Expression) expressionParser.parse(message.substring(i + 1, message.length() - 1),
offset + i + 1), message.startsWith("$!") || message.startsWith("#!"), offset));
} else if (message.startsWith("##")) {
directives.add(new Comment(message.substring(2), false, offset));
} else if ((message.startsWith("#*") && message.endsWith("*#"))) {
directives.add(new Comment(message.substring(2, message.length() - 2), true, offset));
} else {
boolean literal;
if (message.startsWith("#[") && message.endsWith("]#")) {
message = message.substring(2, message.length() - 2);
literal = true;