code: function invalid(options) { // called in context
      //if (this instanceof FilterTree && !this.children.length) {
      //    throw new this.Error('Empty subexpression (no filters).');
      //}
  
      this.children.forEach(function(child) {
          if (child instanceof FilterLeaf) {
              child.invalid(options);
          } else if (child.children.length) {
              invalid.call(child, options);
          }
      });
  }
docs: Throws error if invalid expression tree.
  Caught by {@link FilterTree#invalid|FilterTree.prototype.invalid()}.
  @param {boolean} [options.focus=false] - Move focus to offending control.
  @returns {undefined} if valid
  @private