Issues 5, 6, 8 and 10 resolved. Fixes a bug in the FSM.

Issue 5: Optimize map lookups.
Issue 6: Reduce the number of try/catch and don't have empty catch blocks
Issue 10: tryFindHandler implementation in C# and Java are different
Issue 8: resolved with issue 6.
Important note: fixing issue 6 revealed a bug in the FSM (couple of unit tests started failing) that was 'automatically' fixed by fixing issue 10.
Upgraded version to 2.3.2