def get_file_paths_for_program(program, dir_to_search):
    """
    Return an array of full paths matching the given program. If no directory is
    present, returns an empty list.

    Path is not guaranteed to exist. Just says where it should be if it
    existed. Paths must be fully expanded before being passed in (i.e. no ~ or
    variables).
    """
    if dir_to_search is None:
        return []
    else:
        wanted_file_name = program + EXAMPLE_FILE_SUFFIX
        result = []
        for basedir, dirs, file_names in os.walk(dir_to_search):
            for file_name in file_names:
                if file_name == wanted_file_name:
                    result.append(os.path.join(basedir, file_name))

        return result
Return an array of full paths matching the given program. If no directory is
    present, returns an empty list.

    Path is not guaranteed to exist. Just says where it should be if it
    existed. Paths must be fully expanded before being passed in (i.e. no ~ or
    variables).