ideally needIETryCatchFix would help us choose the correct method at design time, rather then doing the check each time.

This should keep function size down, although will expand the overall source size