docs: function summarize (index, upperCount, summary, indent) {//{{{
      summary || (summary = []);
      indent || (indent = "");
      for (var i in index) {
          var t = Object.keys(index[i].__._TYPES_).join(", ");
          var __ = index[i].__;
          var percent = Math.round(__._COUNT_ * 10000 / upperCount) / 100;
          var epercent = Math.round(__._EMPTY_COUNT_ * 10000 / __._COUNT_) / 100;
          var summ = t
              + " - " + __._COUNT_
              + " (" + percent + "%)"
          ;
          if (__._EMPTY_COUNT_)
              summ += " [" + __._EMPTY_COUNT_
              + " (" + epercent + "%) EMPTY]"
          ;
          if (__._VALUES_)
              summ += " VALUES: ["
                  + Object.keys(__._VALUES_).join(", ")
              + "]"
          ;
          if (__._DATA_) summ += " DATA: ["+Object.keys(__._DATA_).join(", ")+"]";
          summary.push(indent+__._PATH_+": "+summ);
          summarize(index[i]._ITEMS_, __._COUNT_, summary, indent+"  ");
      };
      return summary;
  }