SparseEdgeMap updates are not thread safe, so make DFAState.getTarget and getContextTarget synchronized until the map code is updated