code: def _aggregate_files(cls, aggregate_files, split_stripes, parts):
      if (
          aggregate_files is True
          and int(split_stripes) > 1
          and len(parts) > 1
      ):
          new_parts = []
          new_part = parts[0]
          nstripes = len(new_part[0][1])
          for part in parts[1:]:
              next_nstripes = len(part[0][1])
              if next_nstripes + nstripes <= split_stripes:
                  new_part.append(part[0])
                  nstripes += next_nstripes
              else:
                  new_parts.append(new_part)
                  new_part = part
                  nstripes = next_nstripes
          new_parts.append(new_part)
          return new_parts
      else:
          return parts
  
file_path: dask/dask/dataframe/io/orc/arrow.py
imports: from __future__ import annotations
  import pyarrow
  import pyarrow.orc
  from dask.dataframe.io.utils import _get_pyarrow_dtypes, _meta_from_dtypes
label_desc: Use image node_id 2 for calling the ArrowORCEngine obj's underlying member method code with example usage: obj._aggregate_files(cls, aggregate_files, split_stripes, parts) and returns: new_parts, parts