docs: function () {
                  if (this.__columns) {
                      return asyncArray(this.__columns);
                  } else {
                      var ds = this.unfiltered().unordered().mergeOptions({distinct: null, limit: 1});
                      return asyncArray(ds.forEach().chain(function () {
                          var columns = this.__columns = ds.__columns || [];
                          return columns;
                      }.bind(this)));
                  }
              }