private QueryBuilderKraken parseWatch(){
  WatchQueryBuilder query=new WatchQueryBuilder(_tableManager,_sql);
  Token token;
  String tableName=parseTableName();
  query.setTableName(tableName);
  _query=query;
  ExprKraken whereExpr=null;
  token=scanToken();
  if (token == Token.WHERE) {
    whereExpr=parseExpr();
  }
 else   if (token != null) {
    throw error("expected WHERE at '{0}'",token);
  }
  ParamExpr[] params=_params.toArray(new ParamExpr[_params.size()]);
  query.setParams(params);
  query.setWhereExpr(whereExpr);
  return query;
}

private QueryBuilderKraken parseWatch ( ) { WatchQueryBuilder query = new WatchQueryBuilder ( _tableManager , _sql ) ; Token token ; String tableName = parseTableName ( ) ; query . setTableName ( tableName ) ; _query = query ; ExprKraken whereExpr = null ; token = scanToken ( ) ; if ( token == Token . WHERE ) { whereExpr = parseExpr ( ) ; } else if ( token != null ) { throw error ( "expected WHERE at '{0}'" , token ) ; } ParamExpr [ ] params = _params . toArray ( new ParamExpr [ _params . size ( ) ] ) ; query . setParams ( params ) ; query . setWhereExpr ( whereExpr ) ; return query ; }
watch : adding and removing listeners .
