'find a needle in haystack of paths, optionally using \'dirname\' as a subdir.
This will build the ordered list of paths to search and pass them to dwim
to get back the first existing file found.'

def _find_needle(self, dirname, needle):

    path_stack = self._task.get_search_path()
    return self._loader.path_dwim_relative_stack(path_stack, dirname, needle)
