docs: public int moveTokens() {
          int count;
          if(token == -1) {
              return 0;
          }
  
          int skip = limit - token;
          if(skip < 0) {
              return 0;
          }
  
          if((count = token - buffer.start) != 0) {
              System.arraycopy(buffer.buffer, token, buffer.buffer, buffer.start, skip);
              token = buffer.start;
              marker -= count;
              cursor -= count;
              toktmp -= count;
              limit -= count;
              lineptr -= count;
              linectptr -= count;
          }
          return skip;
      }