private QueryOperator readOperator() throws QueryException {
        if (index == lexems.length) {
            throw new QueryException("Operator but eol found");
        }
        String op = lexems[index];
        if (!op.startsWith("/")) {
            throw new QueryException("'/' expected");
        }
        try {
            QueryOperator ret;
            if (op.startsWith("/+")) {
                ret = new QueryOperator(Integer.parseInt(op.substring(2)), 1);
            } else if (op.startsWith("/-")) {
                ret = new QueryOperator(Integer.parseInt(op.substring(2)), -1);
            } else if (op.startsWith("/")) {
                ret = new QueryOperator(Integer.parseInt(op.substring(1)), 0);
            } else {
                throw new QueryException("'/' expected");
            }
            ++index;
            return ret;
        } catch (QueryException ex) {
            throw ex;
        } catch (Exception ex) {
            throw new QueryException("Exception reading operator", ex);
        }

    }