def METHOD_NAME(self) -> Flow:
    mediatool_to_df_task = MediatoolToDF(
        mediatool_credentials=self.mediatool_credentials,
        mediatool_credentials_key=self.mediatool_credentials_key,
    )
    df = mediatool_to_df_task.bind(
        organization_ids=self.organization_ids,
        media_entries_columns=self.media_entries_columns,
        flow=self,
    )
    df_with_metadata = add_ingestion_metadata_task.bind(df, flow=self)
    df_casted_to_str = cast_df_to_str(df_with_metadata, flow=self)
    dtypes_dict = df_get_data_types_task.bind(df_casted_to_str, flow=self)
    if self.output_file_extension == ".parquet":
        df_to_be_loaded = df_map_mixed_dtypes_for_parquet(
            df_casted_to_str, dtypes_dict, flow=self
        )
        df_to_file = df_to_parquet.bind(
            df=df_to_be_loaded,
            path=self.local_file_path,
            if_exists=self.if_exists,
            flow=self,
        )
    else:
        df_to_file = df_to_csv.bind(
            df=df_casted_to_str,
            path=self.local_file_path,
            if_exists=self.if_exists,
            flow=self,
        )
    file_to_adls_task.bind(
        from_path=self.local_file_path,
        to_path=self.adls_file_path,
        overwrite=self.overwrite,
        sp_credentials_secret=self.adls_sp_credentials_secret,
        flow=self,
    )
    dtypes_updated = update_dtypes_dict(dtypes_dict, flow=self)
    dtypes_to_json_task.bind(
        dtypes_dict=dtypes_updated, local_json_path=self.local_json_path, flow=self
    )
    json_to_adls_task.bind(
        from_path=self.local_json_path,
        to_path=self.adls_schema_file_dir_file,
        overwrite=self.overwrite,
        sp_credentials_secret=self.adls_sp_credentials_secret,
        flow=self,
    )
    file_to_adls_task.set_upstream(df_to_file, flow=self)
    json_to_adls_task.set_upstream(dtypes_to_json_task, flow=self)
    set_key_value(key=self.adls_dir_path, value=self.adls_file_path)