public Object create(Token payload) {
   if (payload.getTokenIndex() < 0) {
     // could be token conjured up during error recovery
     return create(payload.getType(), payload.getText());
   }
   Object node = adaptor.create(payload);
   dbg.createNode(node, payload);
   return node;
 }
 public void setTokenBoundaries(Object t, Token startToken, Token stopToken) {
   adaptor.setTokenBoundaries(t, startToken, stopToken);
   if (t != null && startToken != null && stopToken != null) {
     dbg.setTokenBoundaries(t, startToken.getTokenIndex(), stopToken.getTokenIndex());
   }
 }