Just as a reminder, while this like it should work, the concept of a sending address does not exist in bitcoin. What this is doing is finding the last address to have received these funds. This is occasionally what you expect, but not always. If you are thinking that this address is owned or controlled by the person that sent you a transaction, you will be wrong fairly often.
I'm only interested in the address.. not the owner..
I know this will not always resolve to an address.. but in most case it will.. I will just catch the errors of when it is not the case and handle it gracefully