Isn't this implied in the hastypeOrMethodTargetting=false then returning !hasTypeOrMethodTargetting.  Can you not just move that return statement down to here instead of returning constant true?

In other words, if target = null, !hasTypeOrMethodTargetting = true, so all is well?