code: public String readNextIdentifier()
      {
          int i = idx;
          while (!isEOS() && isIdentifierChar(str.charAt(idx)))
              ++idx;
  
          return str.substring(i, idx);
      }
docs: left idx positioned on the character stopping the read