The retrun at this point breaks the call, because in most cases <prj> is not a binary. And the code always checks for the binary first and then returns if no binary with the name <prj> is found.