protected void sync(int want) {
		int need = (p+want-1) - n + 1; // how many more elements we need?
		if ( need > 0 ) {
			fill(need);
		}
	}
Make sure we have 'need' elements from current position {@link #p p}. Last valid
 {@code p} index is {@code tokens.length-1}.  {@code p+need-1} is the tokens index 'need' elements
 ahead.  If we need 1 element, {@code (p+1-1)==p} must be less than {@code tokens.length}.
runtime/Java/src/org/antlr/v4/runtime/UnbufferedTokenStream.java