code: function (facet, operation) {
      var filter = this.collection.parent.filter;
      if (!filter || this.isFilled) {
        return false;
      }
  
      // check if this slot accepts this type of facet
      if (this.supportedFacets.indexOf(facet.type) === -1) {
        return false;
      }
  
      // Release this filter, and add relevant partition or aggregate
      filter.releaseDataFilter();
  
      if (this.type === 'partition') {
        var partition = filter.partitions.add({
          facetName: facet.name,
          label: labelForPartition(facet),
          showLabel: (this.rank !== 1) || !facet.isCategorial,
          rank: this.rank
        });
        partition.reset();
      } else if (this.type === 'aggregate') {
        filter.aggregates.add({
          facetName: facet.name,
          label: facet.name,
          rank: this.rank,
          operation: operation || 'avg'
        });
      } else {
        console.error('Illegal slot');
        return false;
      }
  
      this.isFilled = true;
      return true;
    }
docs: Try to fill the slot with the provided facet
  returns true on success, false on failure
  The tryFillSlot caller is responsible to do a app.trigger('refresh')
  
  @param {Facet} facet
  @param {string} operation Optional. Requested operation for aggregates
  @returns {boolean} success