code: function () {
              var tOpts = this.__opts, clauseObj = tOpts[tOpts.having ? "having" : "where"];
              if (clauseObj) {
                  return this.filter.apply(this, arguments);
              } else {
                  throw new QueryError("No existing filter found");
              }
          }
docs: Adds a further filter to an existing filter using AND. This method is identical to {@link patio.Dataset#filter}
  except it expects an existing filter.
  
  <p>
  <b>For parameter types see {@link patio.Dataset#filter}.</b>
  </p>
  
  @example
  DB.from("table").filter("a").and("b").sql;
  //=>SELECT * FROM table WHERE a AND b
  
  @throws {patio.QueryError} If no WHERE?HAVING clause exists.
  
  @return {patio.Dataset} a cloned dataset with the condition added to the WHERE/HAVING clause added.