PsiBuilder (final PsiBuilder builder, final int stopAt) { return new PsiBuilderAdapter(builder) { @Override public IElementType getTokenType() { return getCurrentOffset() < stopAt ? super.getTokenType() : null; } @Override public boolean eof() { return getCurrentOffset() >= stopAt || super.eof(); } }; }