} else {
getRuleScanner().setRange(_document, _offset, _length);
}
List<TokenBean> tokens = new ArrayList<TokenBean>();
IToken tmptoken;
do {
tmptoken = getRuleScanner().nextToken();
if (filterEOF && tmptoken.equals(Token.EOF)) {
continue;
} else {
TokenBean bean = new TokenBean();
bean.setToken(tmptoken, getRuleScanner().getTokenLength(), getRuleScanner().getTokenOffset());
tokens.add(bean);
}
} while (!tmptoken.equals(Token.EOF));
List<IToken> typelist = new ArrayList<IToken>();
typelist.add(new Token(null));
if (_defaultReturnToken != null) {
typelist.add(_defaultReturnToken);