protected void reportMissingToken(Parser recognizer) {
		if (inErrorRecoveryMode(recognizer)) {
			return;
		}

		beginErrorCondition(recognizer);

		Token t = recognizer.getCurrentToken();
		IntervalSet expecting = getExpectedTokens(recognizer);
		String msg = "missing "+expecting.toString(recognizer.getVocabulary())+
			" at "+getTokenErrorDisplay(t);

		recognizer.notifyErrorListeners(t, msg, null);
	}
This method is called to report a syntax error which requires the
insertion of a missing token into the input stream. At the time this
method is called, the missing token has not yet been inserted. When this
method returns, {@code recognizer} is in error recovery mode.

<p>This method is called when {@link #singleTokenInsertion} identifies
single-token insertion as a viable recovery strategy for a mismatched
input error.</p>

<p>The default implementation simply returns if the handler is already in
error recovery mode. Otherwise, it calls {@link #beginErrorCondition} to
enter error recovery mode, followed by calling
{@link Parser#notifyErrorListeners}.</p>

@param recognizer the parser instance
runtime/Java/src/org/antlr/v4/runtime/DefaultErrorStrategy.java