@staticmethod
def _keyword_search(files: list[str], keywords: Optional[Union[(str, list)]]) -> list:
    if (not keywords):
        return files
    if (not isinstance(keywords, list)):
        keywords = [keywords]
    filtered_files = [file for file in files if any(((key in file) for key in keywords))]
    return filtered_files
@staticmethod
def _keyword_search(files: list[str], keywords: Optional[Union[(str, list)]]) -> list:
    if (not keywords):
        return files
    if (not isinstance(keywords, list)):
        keywords = [keywords]
    filtered_files = [file for file in files if any(((key in file) for key in keywords))]
    return filtered_files