code: int nextCharLL() {
          int ch;
  
          if (fNextIndex >= fRB.fRules.length()) {
              return -1;
          }
          ch = UTF16.charAt(fRB.fRules, fNextIndex);
          fNextIndex = UTF16.moveCodePointOffset(fRB.fRules, fNextIndex, 1);
  
          if (ch == '\r' ||
              ch == chNEL ||
              ch == chLS ||
              ch == '\n' && fLastChar != '\r') {
              // Character is starting a new line.  Bump up the line number, and
              //  reset the column to 0.
              fLineNum++;
              fCharNum = 0;
              if (fQuoteMode) {
                  error(RBBIRuleBuilder.U_BRK_NEW_LINE_IN_QUOTED_STRING);
                  fQuoteMode = false;
              }
          } else {
              // Character is not starting a new line.  Except in the case of a
              //   LF following a CR, increment the column position.
              if (ch != '\n') {
                  fCharNum++;
              }
          }
          fLastChar = ch;
          return ch;
      }
docs: ----------------------------------------------------------------------------------------