replaceNoCase was using the source string as the replace string.
Merge branch '4.1_replaceNoCaseBug' into 4.1
Non-thread-safe HashSet used in static methods
Merge branch '4.1_ThreadHangs' into 4.1