m_HasMatches
This prevents the `m_HasMatches` property from being altered simultaneously. This might seem harmless (since this property can only be set to true by any calling thread), however, from a technical (C++) point of view, this constitutes a data race.