code: int charStart() {
          if (recognizedLength > inCharStart - inPos.p) {
              System.arraycopy(inBytes, inCharStart, readBuf, recognizedLength, inP - inCharStart);
              charStart = 0;
              charStartBytes = readBuf;
          } else {
              charStart = inCharStart - recognizedLength;
              charStartBytes = inBytes;
          }
  
          return recognizedLength + (inP - inCharStart);
      }
docs: /* transcode_char_start