class LexerMatch {
private final List<Terminal> terminals;
LexerMatch() { this.terminals = null; }
LexerMatch(final List<Terminal> terminals) { this.terminals = terminals; }
public List<Terminal> getTerminals() { return this.terminals; }
<BUG>public void append(final Terminal terminal) {this.terminals.add(terminal);}

}</BUG>
abstract class TokenMatchCallback implements Callable<LexerMatch> {
protected Terminal terminal;

class LexerMatch {
private final List<Terminal> terminals;
LexerMatch() { this.terminals = null; }
LexerMatch(final List<Terminal> terminals) { this.terminals = terminals; }
public List<Terminal> getTerminals() { return this.terminals; }
public void add(final Terminal terminal) {this.terminals.add(terminal);}
public void addAll(final List<Terminal> terminals) {this.terminals.addAll(terminals);}
public void addAll(final LexerMatch match) {this.terminals.addAll(match.getTerminals());}
}
abstract class TokenMatchCallback implements Callable<LexerMatch> {
protected Terminal terminal;
