return null if node is original source
tidy up