public char readChar()
          throws IOException {
    mark(DEFAULT_READ_LIMIT);
    int cfaslOpcode = read();
    if (cfaslOpcode == CFASL_CHARACTER) {
      return (char) read();
    }
    reset();
    throw new RuntimeException("Expected a char but received opCode=" + cfaslOpcode);
  }