Patch Set 3: Looks good to me, but someone else must approve

Kevin, I suspect that the failing test already failed before but it was never noticed because
MessageFormat.format("expected EOF; received '{0}' instead", "something");
results in:
expected EOF; received {0} instead
(note that the parameter is not replaced with the argument).