public void Dispose() { if (_requiresDisposal) { try { DisposeOverride(); } catch (Exception e) { Logging.Warning($"[{GetType().Name}] Dispose(): " + e); } } }