updated.
getFileForLocation() does not work well when dealing with resources. use findFilesForLocation().
Directory source locations: - search only in the parent folders if the given file path is absolute. - return a list only if the number of resulting files is > 1.
Changed name of source lookup preference page.