code: private void accum_subset(Chunk chks[], Chunk wrks, Chunk weight, int nnids[]) {
      for( int row=0; row<nnids.length; row++ ) { // Over all rows
        int nid = nnids[row];                     // Get Node to decide from
        if( nid >= 0 ) {        // row already predicts perfectly or OOB
          double w = weight.atd(row);
          if (w == 0) continue;
          double resp = wrks.atd(row);
          assert !Double.isNaN(wrks.atd(row)); // Already marked as sampled-away
          DHistogram nhs[] = _hcs[nid];
          int sCols[] = _tree.undecided(nid+_leaf)._scoreCols; // Columns to score (null, or a list of selected cols)
          if (sCols == null) {
            for(int col=0; col<nhs.length; ++col ) { //all columns
              if (nhs[col]!=null)
                nhs[col].incr(chks[col].atd(row), resp, w); // Histogram row/col
            }
          } else {
            for( int col : sCols )
              nhs[col].incr(chks[col].atd(row), resp, w); // Histogram row/col
          }
        }
      }
    }
docs: All rows, some cols, accumulate histograms