change getListener recursion base case

terminate if target is falsy, not just if null