def METHOD_NAME(self):
    """
    import exposure_pre_analysis_module and call the run method
    """
    exposure_data = get_exposure_data(self, add_internal_col=True)
    kwargs = dict()
    # If given a value for 'oasis_files_dir' then use that directly
    if self.oasis_files_dir:
        input_dir = self.oasis_files_dir
    else:
        input_dir = self.get_default_run_dir()
        pathlib.Path(input_dir).mkdir(parents=True, exist_ok=True)
    ids_option = {'loc_id': UnknownColumnSaveOption.DELETE,
                  'loc_idx': UnknownColumnSaveOption.DELETE}
    exposure_data.save(path=input_dir, version_name='raw', save_config=True, unknown_columns=ids_option)
    kwargs['exposure_data'] = exposure_data
    kwargs['input_dir'] = input_dir
    kwargs['model_data_dir'] = self.model_data_dir
    kwargs['analysis_settings_json'] = self.analysis_settings_json
    if self.exposure_pre_analysis_setting_json:
        with open(self.exposure_pre_analysis_setting_json) as exposure_pre_analysis_setting_file:
            kwargs['exposure_pre_analysis_setting'] = json.load(exposure_pre_analysis_setting_file)
    _module = get_custom_module(self.exposure_pre_analysis_module, 'Exposure Pre-Analysis lookup module path')
    try:
        _class = getattr(_module, self.exposure_pre_analysis_class_name)
    except AttributeError as e:
        raise OasisException(f"class {self.exposure_pre_analysis_class_name} "
                             f"is not defined in module {self.exposure_pre_analysis_module}") from e.__cause__
    original_files = {oed_source.oed_name: str(oed_source.current_source['filepath']) for oed_source in exposure_data.get_oed_sources()}
    self.logger.info('\nPre-analysis original files: {}'.format(
        json.dumps(original_files, indent=4)))
    print(kwargs)
    print(_class(**kwargs))
    _class_return = _class(**kwargs).METHOD_NAME()
    exposure_data.save(path=input_dir, version_name='', save_config=True, unknown_columns=ids_option)
    # regenerate ids
    exposure_data.location.dataframe = exposure_data.location.dataframe.drop(columns=['loc_id', 'loc_idx'])
    exposure_data.location.dataframe = prepare_location_df(exposure_data.location.dataframe)
    modified_files = {oed_source.oed_name: str(oed_source.current_source['filepath']) for oed_source in exposure_data.get_oed_sources()}
    self.logger.info('\nPre-analysis modified files: {}'.format(
        json.dumps(modified_files, indent=4)))
    return {
        "class": _class_return,
        "modified": modified_files,
        "original": original_files,
    }