def METHOD_NAME(self, filepath: str):
    """
    Find the proper reader based on the file extension
    """
    file_extension = os.path.splitext(filepath)[-1]
    self._validate_file(filepath)
    if file_extension == ".ipynb":
        return NotebookReader(filepath)
    elif file_extension in [".py", ".r"]:
        return FileReader(filepath)
    else:
        raise ValueError(f"File type {file_extension} is not supported.")