();
      this._addNodeObserver();
    }

    /** @private */
    _hasColumnGroups(columns) {
      for (let i = 0; i < columns.length; i++) {
        if (columns[i].localName === 'vaadin-grid-column-group') {
          return true;
        }
      }

      return false;
    }

    /**
     * @param {!GridColumnGroupElement} el
     * @return {!Array<!GridColumnElement>}
     * @protected
     */
    _getChildColumns(el) {
      return Polymer.FlattenedNodesObserver.getFlattenedNodes(el).filter(this._isColu