code: protected TokenCodes parseCRLFTokenExtract(WsByteBuffer buff, int log) throws MalformedMessageException {
  
          // if we're just starting, then skip leading white space characters
          // otherwise ignore them (i.e we might be in the middle of
          // "Mozilla/5.0 (Win"
          if (null == this.parsedToken) {
              if (!skipWhiteSpace(buff)) {
                  return TokenCodes.TOKEN_RC_MOREDATA;
              }
          }
          int start = findCurrentBufferPosition(buff);
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "parseCRLFTokenExtract: start:" + start
                           + " lim:" + this.byteLimit
                           + " pos:" + this.bytePosition);
          }
          TokenCodes rc = findCRLFTokenLength(buff);
          // Set the parsedToken from the token parsed from this ByteBuffer
          saveParsedToken(buff, start, TokenCodes.TOKEN_RC_DELIM.equals(rc), log);
          return rc;
      }
docs: Parse and extract a CRLF delimited token.
  <p>
  Returns either the TOKEN_RC_DELIM or the TOKEN_RC_MOREDATA return codes.
  
  @param buff
  @param log - whether to debug log contents or not
  @return TokenCodes
  @throws MalformedMessageException