def METHOD_NAME(self, pcollection: beam.PCollection):
    shared_overlap_objects = Shared()
    return (
        pcollection
        | "ComputeOverlapStats"
        >> beam.CombineGlobally(
            ComputeDataOverlapStatsFn(
                scenario_data_path=self.scenario_data_path,
                n_values=self.n_values,
                normalization=self.normalization,
                shared_overlap_objects=shared_overlap_objects,
            )
        )
        | "ExtractSummaryFromAllOverlapStats"
        >> beam.Map(extract_summary_from_all_data_overlap_stats, tags=self.tags)
        | "WriteSummaries" >> beam.io.WriteToText(self.output_stats)
    )