I need a c# method to encode ampersands if they are not already encoded or part of another encoded epxression
eg
"tom & jill" should become "tom & jill"
"tom & jill" should remain "tom & jill"
"tom € jill" should remain "tom € jill"
"tom <&> jill" should become "tom <&> jill"
"tom "&" jill" should become "tom "&" jill"
This should do a pretty good job: