def METHOD_NAME(self, source_path: Path) -> Optional[Path]:
    """
    Convert a ROOT file to Parquet.  Returns the path to the Parquet file if successful,
    """
    import uproot
    import awkward as ak
    with uproot.open(source_path) as data:
        if len(data.keys()) != 1:
            self.logger.error(f"Expected one tree found {data.keys()}")
            return None
        try:
            tree_name = data.keys()[0]
            all_data = data[tree_name].arrays(library='ak')
            parquet_file = source_path.with_suffix(".parquet")
            # Save to temp file in same directory as parquet_file. The to_parquet
            # method doesn't plqy well with long paths.
            temp_file = Path(parquet_file.parent, "temp.parquet")
            ak.to_parquet(all_data, temp_file.as_posix())
            temp_file.rename(parquet_file)
        except Exception as e:
            self.logger.error(f"Failed to convert ROOT to Parquet: {e}")
            return None
        return parquet_file