code: public String[] getDecisionPathNames() {
        int classTrees = 0;
        for (int i = 0; i < _ntrees_per_group; ++i) {
          int itree = treeIndex(0, i);
          if (_compressed_trees[itree] != null) classTrees++;
        }
        final int outputcols = _ntree_groups * classTrees;
        final String[] names = new String[outputcols];
        for (int c = 0; c < _ntrees_per_group; c++) {
          for (int tidx = 0; tidx < _ntree_groups; tidx++) {
            int itree = treeIndex(tidx, c);
            if (_compressed_trees[itree] != null) {
              names[itree] = "T" + (tidx + 1) + ".C" + (c + 1);
            }
          }
        }
        return names;
      }
docs: ntrees_per_group = _treeKeys[0].length