docs: function(array, opt_keyFunc, opt_this) {
        if (this.isEmpty_)
          return [];
        // Binary search. |test| is a function that should return true when we
        // need to explore the left branch and false to explore the right branch.
        function binSearch(test) {
          var i0 = 0;
          var i1 = array.length;
          while (i0 < i1 - 1) {
            var i = Math.trunc((i0 + i1) / 2);
            if (test(i))
              i1 = i;  // Explore the left branch.
            else
              i0 = i;  // Explore the right branch.
          }
          return i1;
        }
  
        var keyFunc = opt_keyFunc || tr.b.identity;
        function getValue(index) {
          return keyFunc.call(opt_this, array[index]);
        }
  
        var first = binSearch(function(i) {
          return this.min_ === undefined || this.min_ <= getValue(i);
        }.bind(this));
        var last = binSearch(function(i) {
          return this.max_ !== undefined && this.max_ < getValue(i);
        }.bind(this));
        return array.slice(first, last);
      }