// Path: cal10n-api/src/main/java/ch/qos/cal10n/util/Token.java
// enum TokenType {
//   KEY,
//   SEPARATOR,
//   VALUE,
//   TRAILING_BACKSLASH,
//   EOL;
// }


import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import ch.qos.cal10n.MessageConveyorException;
import ch.qos.cal10n.util.Token.TokenType;

    return tokenList;
  }

  private void tokenizeLine(List<Token> tokenList, String line) {
    int len = line.length();
    StringBuilder buf = new StringBuilder();

    for (int pointer = 0; pointer < len; pointer++) {
      char c = line.charAt(pointer);
      switch (state) {
      case START:
        if (isWhiteSpace(c)) {
          // same sate
        } else if (c == '#') {
          state = State.COMMENT;
          return;
        } else if (isNonWhiteSpaceSeparator(c)) {
          state = State.SEPARATOR;
          buf.append(c);
        } else {
          state = State.KEY;
          buf.append(c);
        }
        break;

      case KEY:
        if (isWhiteSpace(c) || isNonWhiteSpaceSeparator(c)) {
          String lexicalValue = LexicalUtil.convertSpecialCharacters(buf).toString();
          tokenList.add(new Token(TokenType.KEY, lexicalValue));
// Path: cal10n-api/src/main/java/ch/qos/cal10n/util/Token.java
// enum TokenType {
//   KEY,
//   SEPARATOR,
//   VALUE,
//   TRAILING_BACKSLASH,
//   EOL;
// }


// Path: cal10n-api/src/main/java/ch/qos/cal10n/util/TokenStream.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.List;
import ch.qos.cal10n.MessageConveyorException;
import ch.qos.cal10n.util.Token.TokenType;


    return tokenList;
  }

  private void tokenizeLine(List<Token> tokenList, String line) {
    int len = line.length();
    StringBuilder buf = new StringBuilder();

    for (int pointer = 0; pointer < len; pointer++) {
      char c = line.charAt(pointer);
      switch (state) {
      case START:
        if (isWhiteSpace(c)) {
          // same sate
        } else if (c == '#') {
          state = State.COMMENT;
          return;
        } else if (isNonWhiteSpaceSeparator(c)) {
          state = State.SEPARATOR;
          buf.append(c);
        } else {
          state = State.KEY;
          buf.append(c);
        }
        break;

      case KEY:
        if (isWhiteSpace(c) || isNonWhiteSpaceSeparator(c)) {
          String lexicalValue = LexicalUtil.convertSpecialCharacters(buf).toString();
          tokenList.add(new Token(TokenType.KEY, lexicalValue));
          buf.setLength(0);