code: @Nonnull
      public Token skipline(boolean white)
              throws IOException,
              LexerException {
          for (;;) {
              Token tok = token();
              switch (tok.getType()) {
                  case EOF:
                      /* There ought to be a newline before EOF.
                       * At least, in any skipline context. */
                      /* XXX Are we sure about this? */
                      warning(tok.getLine(), tok.getColumn(),
                              "No newline before end of file");
                      return new Token(NL,
                              tok.getLine(), tok.getColumn(),
                              "\n");
                  // return tok;
                  case NL:
                      /* This may contain one or more newlines. */
                      return tok;
                  case CCOMMENT:
                  case CPPCOMMENT:
                  case WHITESPACE:
                      break;
                  default:
                      /* XXX Check white, if required. */
                      if (white)
                          warning(tok.getLine(), tok.getColumn(),
                                  "Unexpected nonwhite token");
                      break;
              }
          }
      }
docs: Skips tokens until the end of line.
  
  @param white true if only whitespace is permitted on the
  remainder of the line.
  @return the NL token.