code: public String getText() {
          StringBuilder buf = new StringBuilder();
          boolean paste = false;
          for (Token tok : tokens) {
              if (tok.getType() == Token.M_PASTE) {
                  assert paste == false : "Two sequential pastes.";
                  paste = true;
                  continue;
              } else {
                  buf.append(tok.getText());
              }
              if (paste) {
                  buf.append(" #" + "# ");
                  paste = false;
              }
              // buf.append(tokens.get(i));
          }
          return buf.toString();
      }
docs: /* Paste tokens are inserted before the first of the two pasted
  tokens, so it's a kind of bytecode notation. This method
  swaps them around again. We know that there will never be two
  sequential paste tokens, so a boolean is sufficient.