def license_not_found(remove_header, license_info, src_file_content, src_filepath):
    """
    Executed when license is not found. It either adds license if remove_header is False,
        does nothing if remove_header is True.
    :param remove_header: whether header should be removed if found
    :param license_info: license info named tuple
    :param src_file_content: content of the src_file
    :param src_filepath: path of the src_file
    :return: True if change was made, False otherwise
    """
    if not remove_header:
        index = 0
        for line in src_file_content:
            stripped_line = line.strip()
            # Special treatment for shebang, encoding and empty lines when at the beginning of the file
            # (adds license only after those)
            if stripped_line.startswith("#!") \
                    or stripped_line.startswith("# -*- coding") \
                    or stripped_line == "":
                index += 1
            else:
                break
        src_file_content = src_file_content[:index] + license_info.prefixed_license + \
            [license_info.eol] + src_file_content[index:]
        with open(src_filepath, 'w', encoding='utf8') as src_file:
            src_file.write(''.join(src_file_content))
        return True
    return False