private Token eventuallyMatch(Token.Kind kind) {
		checkNotEof();
		Token token = tokens.get(index);
		if (token.kind != kind) {
			return null;
		} else {
			index = index + 1;
			return token;
		}
	}
private Token eventuallyMatch ( Token . Kind kind ) { checkNotEof ( ) ; Token token = tokens . get ( index ) ; if ( token . kind != kind ) { return null ; } else { index = index + 1 ; return token ; } }
Attempt to match a given kind of token with the view that it must
*eventually* be matched. This differs from <code>tryAndMatch()</code>
because it calls <code>checkNotEof()</code>. Thus, it is guaranteed to
skip any whitespace encountered in between. This is safe because we know
there is a terminating token still to come.

@param kind
@return