// If 'autoRelease' we want to release any previous capture that was not release properly no matter the reason.
// BUT we don't want to release a capture that was made by a child control (so MostRecentDispatchedEventFrameId should already be equals to current FrameId).
// We also do not allow a control that is not loaded to keep a capture (they should all have been release on unload).
// ** This is an IMPORTANT safety catch to prevent the application to become unresponsive **
// If 'autoRelease' we want to release any previous capture that was not release properly no matter the reason.
// BUT we don't want to release a capture that was made by a child control (so MostRecentDispatchedEventFrameId should already be equals to current FrameId).
// We also do not allow a control that is not loaded to keep a capture (they should all have been release on unload).
// ** This is an IMPORTANT safety catch to prevent the application to become unresponsive **
* - The PointersCapture property remains `null` until a pointer is captured
*/
privateList<Pointer>_localExplicitCaptures;
/// <summary>
/// DO NOT USE
/// This is the backing field of <see cref="PointerCaptures"/>.
/// It's internal to be accessible to the <see cref="PointerCapture"/> and must not be used directly by any other code!
/// Use dedicated APIs like <see cref="CapturePointer(Pointer)"/>, <see cref="ReleasePointerCapture(Pointer)"/> and <see cref="IsCaptured(Pointer)"/> instead.